スカッシュ&ストレッチ
CoddyのGodotジャーニー「ゲームの手触り」セクションの一部。レッスン 18/23。
アニメーションでは、キャラクターが攻撃を受けると押しつぶされ、その後、元の形に戻ります。こうすると、攻撃に重みがあるように見えます。
スクワッシュは、scaleに対する2段階のトゥイーンです。最初の段階ではロボットを横に広げ、平たくします。2段階目では、Vector2(1, 1)に戻ります。Tween.TRANS_ELASTICを使うと、通常のサイズを通り越してから揺れ、落ち着きます。
var wobble = create_tween()
wobble.tween_property(self, "scale", Vector2(1.4, 0.6), 0.08)
wobble.tween_property(self, "scale", Vector2(1, 1), 0.5).set_trans(Tween.TRANS_ELASTIC).set_ease(Tween.EASE_OUT)これは、フラッシュのトゥイーンに加えて実行する2つ目のトゥイーンです。異なるプロパティを変更する場合、2つのトゥイーンを同時に実行できます。
チャレンジ
簡単ロボットが攻撃を受けたとき、押しつぶされるようにしましょう。
hit()のフラッシュの後に、wobbleという名前の2つ目のトゥイーンを作成します。scaleをVector2(1.4, 0.6)へ、0.08秒かけてトゥイーンします。- 次に、
Tween.TRANS_ELASTICとTween.EASE_OUTを使って、Vector2(1, 1)へ0.5秒かけて戻します。
「プレイ」を押してからEを押します。ロボットが平たくなって、元に戻ります。その後、「確認」を押します。
自分で試してみよう
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
ゲームの手触りのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド