Menu
CoddyTech

CharacterBody2D

CoddyのGodotジャーニー「入力と移動」セクションの一部。レッスン 7/28。

Node2Dは壁を通り抜けます。CharacterBody2Dは物にぶつかります。Sceneタブでは、Heroは現在CharacterBody2Dになっています。その子ノードであるCollisionShape2Dは円形で、ヒーローの実体のサイズを表します。壁や柱にも衝突形状があります。

ボディはvelocity(1秒あたりのピクセル数で表すVector2)を持ちます。設定するだけでは何も動きません。move_and_slide()は1フレーム分、ボディをその速度で移動させ、固体にぶつかると停止させます。

func _physics_process(delta):
	velocity = Vector2(150, 0)
	move_and_slide()

物理演算と同期して実行される_physics_processでボディを移動させます。move_and_slide()がフレームの時間を適用するので、velocityにdeltaを掛けてはいけません。

challenge icon

チャレンジ

簡単

ヒーローのvelocityは、右方向に毎秒150ピクセルに設定されています。移動して柱の位置で止まるように、move_and_slide()を呼び出してください。

自分で試してみよう

extends CharacterBody2D

func _physics_process(delta):
	velocity = Vector2(150, 0)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

入力と移動のすべてのレッスン

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