Menu
CoddyTech

ヒットストップ

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に戻してください。これはゲーム全体に影響し、コードで変更されるまでそのままです。

challenge icon

チャレンジ

中級

ヒット時にゲームを一瞬停止させましょう。

  1. hit()内のフラッシュの後、Engine.time_scaleを0.05に設定します。
  2. 上記のように、タイムスケールの影響を受けないタイマーで、実時間で0.1秒待ちます。
  3. 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プレイグラウンド