Vector2の計算
CoddyのGodotジャーニー「ノードとシーン」セクションの一部。レッスン 16/28。
Vector2を使って計算できます。2つのベクトルを足すと、x同士とy同士が足されます。
Vector2(100, 50) + Vector2(10, 5) # (110, 55)数値を掛けると、両方の値に掛けられます。Vector2(100, 50) * 2は(200, 100)です。velocity * deltaはこのように動作します。
ベクトルの長さとは、直線でどれだけ進むかを表します。.length()で計算できます。
var step = Vector2(3, 4)
print(step.length()) # 5.0速度ベクトルの場合、長さが実際の速さです。ロボットが毎秒右に120ピクセル、上に90ピクセル移動すると、毎秒150ピクセル進みます。
チャレンジ
簡単ロボットの実際の速度を出力してから、飛ばしましょう。
_ready()で、"Speed: "とvelocityの長さを.length()で出力します。_process()で、deltaを使って、ロボットを1秒あたりvelocityの分だけ移動させます。
「プレイ」を押します。コンソールにSpeed: 150.0と表示され、ロボットは右上に飛んでいきます。その後、「確認」を押します。
自分で試してみよう
extends Node2D
var velocity = Vector2(120, -90)
func _ready():
pass
func _process(delta):
pass
ノードとシーンのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド