godotのボタンノードに2つの異なる関数を追加しようとしています。左クリックしたときにメッセージを表示し、添付されたスプライトが右クリックされたときに消えるようにしたいと思います。 gdscriptでこれを行う方法はありますか?ゴードールのボタンノードに複数の関数を追加する方法はありますか?
0
A
答えて
0
Buttonクラスを使用して左クリックと右クリックを区別できるかどうかはわかりません。しかし、スプライトが望むように反応させるための複数の簡単な方法があります。
ボタンをクリックした後に反応する領域としてボタンを追加しただけではわかりません。その場合は、スプライトにArea2D(または3D)と衝突シェイプを追加することもできます。コリジョンシェイプでは、Area2Dノードの "input_event"信号をSpriteスクリプト(またはこのシーンで使用するスクリプト)にリンクできます。 Signalをリンクする最も簡単な方法は、エディタの左下にあるSignalリボンを使用する方法です。
エディタは、自動的に新しい関数を作成し、あなたが好き好きな振る舞いコード化することができます。
func _on_Area2D_input_event(viewport, event, shape_idx):
if event.is_action('left_click'):
print("Left click message")
elif event.is_action('right_click'):
self.hide() # hides the node which owns the script...
あなたが入力マップに「left_click」と「RIGHT_CLICK」を定義する必要がIS_ACTION機能を使用する前にエディタの設定で通常、すべてのキーとボタンをハードコーディングする代わりに、入力マップを使用することをお勧めします。
私は役立つことを願っています。
最高の幸せなコーディング。
関連する問題
- 1. 複数のデータソースをListViewに追加する方法はありますか?
- 2. Javascriptで複数の関数を1つの関数に割り当てる方法はありますか?
- 3. 関数内の変数にJavascriptでテキストを追加する方法はありますか?
- 4. カスタム関数から複数の列をデータフレームに追加する方法R
- 5. 関数の複数の出力を別の関数に直接渡す方法はありますか?
- 6. JSの変数に「サブプロパティ」を追加する方法はありますか?
- 7. 関数内にあるjavascript関数の外部にある変数を返す方法はありますか?
- 8. ジェネリック関数をフィルタリングする方法、または複数のオプションを持つ方法はありますか?
- 9. 別のテーブルの複数の列にSUMを追加する方法はありますか?
- 10. Javascriptのすべての関数にtry-catchを追加する方法はありますか?
- 11. 複数のレコードをgridviewからSQL Serverテーブルに追加する方法はありますか。
- 12. 複数の電話番号をサーバー側のデータベースに追加する方法はありますか?
- 13. アンドロイドの同じイベントに複数のリマインダーを追加する方法はありますか?
- 14. php.iniのcurl.cainfoに複数のSSL証明書を追加する方法はありますか?
- 15. 複数のユーザー入力を辞書に追加する別の方法はありますか?
- 16. 動的に複数のチェックボックスをhtmlテーブルに追加する方法はありますか?
- 17. jsonpコールバック関数に複数のパラメータ/引数を追加する
- 18. SQLに複数の変数を追加する方法
- 19. メンバ関数をstd ::関数にバインドする方法はありますか?
- 20. 同じ名前のテクスチャボックスから複数の値を追加する方法はありますか?
- 21. TypeScript関数を追加する方法
- 22. Python SMTPlibに複数の受信者を追加する方法はありますか?
- 23. 複数のOpen Office XML Docxドキュメントにデジタル署名をプログラムで追加する方法はありますか?
- 24. jqueryの各関数からテーブル行に追加する方法はありますか
- 25. 追加の引数を条件付きでbashスクリプトに追加する方法はありますか?
- 26. 複数の行の値をSQLに追加する方法は?
- 27. 複数の値のセットをキーに追加する方法は?
- 28. Goに関数をオーバーロードする方法はありますか?
- 29. docにアプリスクリプト関数へのリンクを追加する方法はありますか?
- 30. 反応jsxレンダリング関数で各子の後ろに要素を追加する方法はありますか?
私はこのアイデアは私がやっていたよりもうまくいくと思っていますが、 'event.is_action'は識別子「イベント」を見つけることができないというエラーを投げます。私はフォーラムでこれを見たので、私が奇妙なバージョンのGodotを持っているのだろうかと思っていますが、それは今まで私のために働いていませんでした:/ –
コードを見ることなく問題を解決するのは難しいです。スニペットを投稿できますか?イベント "識別子"は_on_Area2D_input_event関数の引数です。どのようにしてその機能を作りましたか? Godotエディタを使用しましたか?またはスクリプトに関数を入力しましたか?さらに、あなたが悪いGodotバージョンを持っていると思ったら、ただ新しいものをダウンロードしてください(現在の安定版は2.1.3です)。もう一度やり直してください。 – magenulcus