Menu
CoddyTech

ダンジョンを歩く

CoddyのGodotジャーニー「プロジェクト」セクションの一部。レッスン 29/36。

最後のプロジェクトは、上から見たダンジョンクローラーです。主人公は鍵を取り、ドアを開け、警備兵を通り抜けて階段にたどり着きます。

スクリプトはhero.gd、enemy.gd、main.gdです。壁はWallsという名前のStaticBody2Dで、すでにシーンにあります。

主人公は4方向に歩きます。Input.get_vectorは4つすべてのキーを読み取り、長さ1の方向ベクトルを返すため、斜め移動が速くなることはありません。move_and_slide()はvelocityに応じてボディを動かし、壁に沿って滑らせます。

velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()

move_and_slideはそれ自体でdeltaを使用するため、これを掛ける必要はありません。

challenge icon

チャレンジ

簡単

ヒーローをダンジョンの中で移動させましょう。

  1. hero.gdで、const SPEED = 160を追加します。
  2. 物理フレームごとに、4つの移動アクションのInput.get_vectorの戻り値にSPEEDを掛けた値をvelocityに設定し、その後move_and_slide()を呼び出します。

「プレイ」を押して歩かせます。壁に当たるとヒーローは止まります。その後、「確認」を押します。

自分で試してみよう

extends CharacterBody2D

func _physics_process(delta):
	pass

プロジェクトのすべてのレッスン

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