mieki256's diary



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

key_arrowleft.png

key_arrowright.png

key_space.png

Godot Engine上で表示できた :

Godot Engine 上で、TextureButton を追加して、Textures の Normal に画像を指定。一応表示はできた。

ボタンを押した時に少し下に沈む感じ(表示位置が少し下にずれる感じ)にしたかったのだけど、押された時の画像を別途用意しないといけないのだろうか…? たしかにそういう仕様のほうが汎用性はあるだろうけど、似たような画像を用意しなきゃいけない点はなんだかちょっともったいない気もする。表示位置をずらすだけでも十分なのだけど…。

Buttonの使い方を調べた :

Godot Engine上でボタン(Buttonノード)を使う方法が分からなかったので少し調べた。ボタンが押された時にシグナルが発生するので、接続してスクリプト内に関数を書けばいいのかな。たぶん。

_button_downとbutton_upとpressedシグナルの違い - mmag

ノード → シグナル、で pressed() をダブルクリック。または右クリックして「接続」を選んで、スクリプトに繋いでやればいいらしい。

godot_button_ss01.png


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

godot_button_ss02.png

デフォルトでは Button Release になってるけど、Button Press に変更すれば押した瞬間に pressed() が発生する。


シグナル button_down() はボタンが押された時、button_up() はボタンが離された時に発生するので、これを使えばそのボタンが押されっぱなしかどうか把握できる。スクリプト側でフラグ変数でも用意して、その変数を true/false で設定しておけばいい。

以上です。

過去ログ表示

Prev - 2025/01 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project