GMSでブロック崩しチュートリアル
公式のブロック崩しチュートリアル
https://www.youtube.com/watch?v=38RWps5eIi0
適当に ボール、ブロック、バーのsprite と object を用意
ボールが、画面端で跳ね返ったり死亡判定するのは、Intersect Boundary Eventで bbox のチェックをおこなう
code:gml Intersect Boundary Event
if(bbox_left < 0 || bbox_right > room_width){
x = clamp(x, sprite_xoffset, room_width - sprite_xoffset);
hspeed = -hspeed;
}
if(bbox_top < 0){
y = clamp(y, sprite_yoffset, room_height - sprite_yoffset);
vspeed = -vspeed;
}
if(bbox_bottom > room_height){
if(instance_number(obj_ball) >= 2){
instance_destroy();
exit;
}
lives--;
instance_destroy();
}
ボールが自機バーとの Collision Eventで跳ね返りさせるコード
code:gml obj_bat collision Event
direction = point_direction(other.x, other.y, x,y);
direction を 自機バーとボールの位置から角度に変えている