ブロック崩しのボール
CoddyのGodotジャーニー「プロジェクト」セクションの一部。レッスン 3/33。
次はボールです。ball.gdにあります。ボールはvelocityで移動します。速度は1秒あたりのピクセル数で表し、横方向と下方向に移動します。
var velocity = Vector2(110, -280)
func _physics_process(delta):
position += velocity * deltayが負の値なら上方向なので、このボールは右上に向かって動き始めます。
跳ね返すには、壁に当たったときに速度の一部を反転させます。側面の壁ではvelocity.xを反転させます。上側の壁ではvelocity.yを反転させます。ボールの中央がx = 8、x = 632、またはスコアバーの下にあるy = 42に達すると、ボールの向きが変わります。
下側には壁がありません。パドルがその側を守ります。
チャレンジ
中級ball.gdで:
var velocity = Vector2(110, -280)を追加します。- 物理フレームごとに、
velocity * deltaでボールを移動させます。 position.xが8未満または632を超えたとき、velocity.xの符号を反転させます。position.yが42未満のとき、velocity.yの符号を反転させます。
自分で試してみよう
extends Area2D
func _physics_process(delta):
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
プロジェクトのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド