Menu
CoddyTech

コイン集め:歩く

CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 23/27。

これからの5つのレッスンで、Coin Collectorを作ります。部屋の中を歩き回ってすべてのコインを取り、最後の1枚がなくなったら勝ちです。

ゲームには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を変更すると、壁を通り抜けてしまいます。

challenge icon

チャレンジ

簡単

Coin Collectorを始めよう:プレイヤーを歩かせます。

  1. player.gdで、velocityにInput.get_vector("move_left", "move_right", "move_up", "move_down")とSPEEDを掛けた値を設定します。
  2. 次に、move_and_slide()を呼び出します。coin.gdとmain.gdはそのままにします。

「プレイ」を押します。矢印キーまたはWASDでプレイヤーが歩き、壁にぶつかると止まります。次に「確認」を押します。

自分で試してみよう

extends CharacterBody2D

const SPEED = 200.0

func _physics_process(delta):
	pass

シグナルと衝突のすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド