フライヤーに重力を加える
CoddyのGodotジャーニー「プロジェクト」セクションの一部。レッスン 22/36。
3つ目のプロジェクトはフラッピーフライヤーです。ロボットの鳥は常に落下し、スペースキーを押すと羽ばたいて上昇します。パイプの間の隙間を通り抜けなければなりません。
スクリプトはflyer.gd、pipe.gd、main.gdです。まずは重力から始めましょう。物理フレームごとに、重力がフライヤーの下向きの速度に加算され、その速度によってフライヤーが移動します。
velocity.y += GRAVITY * delta
position += velocity * delta重力が変えるのは位置ではなく速度なので、フレームごとに落下が速くなります。すべてのCharacterBody2Dには、最初からvelocityがあります。
チャレンジ
簡単チラシを落下させましょう。
flyer.gdにconst GRAVITY = 900を追加します。- 物理フレームごとに、
GRAVITY * deltaをvelocity.yに加えてから、velocity * deltaだけチラシを移動させます。
「プレイ」を押すと、チラシはどんどん速く落下します。その後、「確認」を押します。
自分で試してみよう
extends CharacterBody2D
func _physics_process(delta):
pass
プロジェクトのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド