↔️

[Godot] HBoxContainer の中の画像の大きさをアニメーションさせる

2025/01/21に公開

困っていたこと

HBoxContainer を使うと、横方向に簡単に整列することができるのですが、
その代わり子ノードの Scale が変更できなくなり、特定の要素だけ大きくしたいアニメーションをどうやるんだろうと四苦八苦してました。

できたもの

以下のようにノードを作成します。

HBoxContainer
└ MarginContainer1
| └ TextureRect ← ※ここにtextureとして画像を登録
└ MarginContainer2
  └ TextureRect

画像は TextureRect に設定します。
Expand Mode を "Fit Height", Stretch Mode を "Keep Aspect Centered" に設定します。

そうすると画像の横幅がデフォルトで0になり表示されない状態になりますが、
落ち着いて Custom Minimum Size を入力すると見えるようになります。

以上で仕掛けは終わりです。
Custom Minimum Size の値で画像のサイズを調整すると、HBoxContainer による横方向の整列を保ったままアニメーションができます。

Discussion