コイン集め:歩く
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 23/27。
これからの5つのレッスンで、Coin Collectorを作ります。部屋の中を歩き回って、すべてのコインを集め、最後のコインがなくなったら勝利です。
ゲームには3つのスクリプトがあります。
player.gd:動かすロボットです。coin.gd:すべてのコインがこのスクリプトを使います。main.gd:Mainにある、ゲームのルールです。
まずは歩く動作です。プレイヤーはCharacterBody2Dです。壁と2つの灰色のブロックはStaticBody2Dです。前のセクションで、次の歩行処理を書きました。
func _physics_process(delta):
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()move_and_slide()はvelocityに従ってボディを動かし、壁のところで止めます。自分でpositionを変更すると、壁をすり抜けてしまいます。
チャレンジ
簡単プレイヤーが矢印キーまたはWASDキーで、1秒あたりSPEEDピクセルの速さで歩くようにします。壁で止まるようにしてください。coin.gdとmain.gdはそのままにします。
自分で試してみよう
extends CharacterBody2D
const SPEED = 200.0
func _physics_process(delta):
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド