2025/01/07(火) [n年前の日記]
#1 [godot][blender][cg_tools] キーボードのキーに見える画像を作成して追加
_昨日
に続き、Windows10 x64 22H2 + Godot Engine 4.3 64bit でゴルフゲームっぽいものが作れないものかなと試してる。
画面に、キーボードのキーに見えるボタンを表示したい。昨日はキーボードっぽいフォントを探したけれど、ライセンス面が少し不安なフォントしか見つけられなかったので、結局自分で画像を作成することにした。
Inkscape 1.4 で作成。何かの参考になるかもしれないので一応置いときます。ライセンスはCC0 / Public Domain ってことで。
_keycap.svg



画面に、キーボードのキーに見えるボタンを表示したい。昨日はキーボードっぽいフォントを探したけれど、ライセンス面が少し不安なフォントしか見つけられなかったので、結局自分で画像を作成することにした。
Inkscape 1.4 で作成。何かの参考になるかもしれないので一応置いときます。ライセンスはCC0 / Public Domain ってことで。
_keycap.svg



◎ Godot Engine上で表示できた :
Godot Engine 上で、TextureButton を追加して、Textures の Normal に画像を指定。一応表示はできた。
ボタンを押した時に少し下に沈む感じ(表示位置が少し下にずれる感じ)にしたかったのだけど、押された時の画像を別途用意しないといけないのだろうか…? たしかにそういう仕様のほうが汎用性はあるだろうけど、似たような画像を用意しなきゃいけない点はなんだかちょっともったいない気もする。表示位置をずらすだけでも十分なのだけど…。
ボタンを押した時に少し下に沈む感じ(表示位置が少し下にずれる感じ)にしたかったのだけど、押された時の画像を別途用意しないといけないのだろうか…? たしかにそういう仕様のほうが汎用性はあるだろうけど、似たような画像を用意しなきゃいけない点はなんだかちょっともったいない気もする。表示位置をずらすだけでも十分なのだけど…。
◎ Buttonの使い方を調べた :
Godot Engine上でボタン(Buttonノード)を使う方法が分からなかったので少し調べた。ボタンが押された時にシグナルが発生するので、接続してスクリプト内に関数を書けばいいのかな。たぶん。
_button_downとbutton_upとpressedシグナルの違い - mmag
ノード → シグナル、で pressed() をダブルクリック。または右クリックして「接続」を選んで、スクリプトに繋いでやればいいらしい。

pressed() は、デフォルト設定ではボタンを押して離したタイミングで発生する。離した時ではなく押した時に反応して欲しい場合は、Action Mode を変更する。

デフォルトでは Button Release になってるけど、Button Press に変更すれば押した瞬間に pressed() が発生する。
シグナル button_down() はボタンが押された時、button_up() はボタンが離された時に発生するので、これを使えばそのボタンが押されっぱなしかどうか把握できる。スクリプト側でフラグ変数でも用意して、その変数を true/false で設定しておけばいい。
_button_downとbutton_upとpressedシグナルの違い - mmag
ノード → シグナル、で pressed() をダブルクリック。または右クリックして「接続」を選んで、スクリプトに繋いでやればいいらしい。

pressed() は、デフォルト設定ではボタンを押して離したタイミングで発生する。離した時ではなく押した時に反応して欲しい場合は、Action Mode を変更する。

デフォルトでは Button Release になってるけど、Button Press に変更すれば押した瞬間に pressed() が発生する。
シグナル button_down() はボタンが押された時、button_up() はボタンが離された時に発生するので、これを使えばそのボタンが押されっぱなしかどうか把握できる。スクリプト側でフラグ変数でも用意して、その変数を true/false で設定しておけばいい。
[ ツッコむ ]
以上です。