この記事では、アクションゲームなどで最近良く見かけるクールダウンアイコンの実装方法を紹介します。

目次
クールダウンアイコンの作り方
Spriteノードを追加して、”icon.png” を Textureに設定します。

Spriteノードの下に TextureProgress
を追加します。

そして、Texture > Progress
に “icon.png” を設定します。

見た目をわかりやすくするために、ひとまず Range > Value
を 75にしておきます。そして、Fill Mode
を 「Counter ClockWise」に変更します。

すると Godotくんの右上が欠けたような画像となります。

続けて Tint > Progress
の色をクリックしてカラーパレットを表示し、(R,G,B,A)を(80, 80, 80, 200) あたりに設定します。グレーの色になっていれば良いと思います。

すると 欠けたGodotくんの色がグレーになります。

そしてTextureProgressを中央に移動しておきます。

Spriteにスクリプトをアタッチして以下のように記述します
tool
extends Sprite
# クールダウン値 (0でクールダウン終了)
export(float, 0, 100) var cooldown = 0
onready var progress = $TextureProgress
func _process(delta: float) -> void:
# プログレスに値を反映
progress.value = cooldown
tool
宣言はシーンを開き直す必要があるので、シーンを保存して読み込みし直すと、エディタ上でクールダウンの動きが確認できます。
