画面の揺れ
CoddyのGodotジャーニー「ゲームの手触り」セクションの一部。レッスン 11/23。
画面の揺れは、踏みつけや爆発のような大きな瞬間を際立たせます。このレベルでは、E キーを押すとカメラの start_shake() が呼び出され、shake が 12 に設定されます。まだ何も動きません。
Camera2D には offset があり、これはカメラノードを動かさずに表示をずらす Vector2 です。毎フレーム新しいランダムなオフセットを設定すると、表示が揺れます。
offset = Vector2(randf_range(-shake, shake), randf_range(-shake, shake))揺れは止める必要があります。毎フレーム move_toward を使って shake を 0 に向けて小さくしていくと、揺れ幅も小さくなります。
shake = move_toward(shake, 0.0, 30.0 * delta)shake が 0 になると、2 つの乱数はどちらも 0 になり、offset は Vector2(0, 0) に戻ります。
チャレンジ
中級_process内で、次の処理を行います。
move_towardを使って、shakeを30.0 * deltaずつ0に近づけます。- 各軸で
-shakeからshakeまでのランダムなVector2をoffsetに設定します。
次にEキーを押して踏みつけます。
自分で試してみよう
extends Camera2D
var shake = 0.0
func _ready():
limit_left = 0
limit_top = 0
limit_right = 1600
limit_bottom = 360
func start_shake():
shake = 12.0
func _process(delta):
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ゲームの手触りのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド