ヒットストップ
CoddyのGodotジャーニー「ゲームの手触り」セクションの一部。レッスン 17/23。
ヒットフリーズは、攻撃が命中したときにゲームをほんの一瞬停止させるものです。攻撃に力強さを感じさせます。
Engine.time_scaleはゲーム内時計の速度です。1ではゲームは通常どおり進行します。0.05では、移動、トゥイーン、タイマーの速度が20分の1になります。
Engine.time_scale = 0.05
await get_tree().create_timer(0.1, true, false, true).timeout
Engine.time_scale = 1.0通常のタイマーは遅くなった時計に従って動作するため、0.1秒は実時間で2秒になります。create_timerの最後のtrueを指定すると、タイマーはtime_scaleを無視して実時間で秒数を数えます。その前の2つの値は通常の既定値です。
必ずtime_scaleを1に戻してください。これはゲーム全体に影響し、コードで変更されるまでそのままです。
チャレンジ
中級ヒット時にゲームを一瞬停止させましょう。
hit()内のフラッシュの後、Engine.time_scaleを0.05に設定します。- 上記のように、タイムスケールの影響を受けないタイマーで、実時間で0.1秒待ちます。
Engine.time_scaleを1.0に戻します。
「プレイ」を押して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プレイグラウンド