ゲームオブジェクトの Collision2D 領域に触れている場合にのみ機能する、単純なマウスクリック動作の設定方法に関する手順です。これはカーソルの操作やその他の機能は含まず、純粋にクリックした際に適切なゲームオブジェクトが反応するだけのものです。
-
プロジェクト設定にマウスクリック入力を追加します:
-
クリック可能なオブジェクトに can_click スイッチを追加します。これは、どこをクリックしてもオブジェクトが反応してしまうのを防ぐガードとして機能します:
-
ビジュアルスクリプトで、any state リンクにマウス入力のチェックと can_click スイッチのチェックを行ってください。out リンクは時間/再クリックなど何でも構いませんが、スイッチのチェックは不要です:
-
少しコードが必要ですが、非常にシンプルでコピー&ペースト可能です。ノードを作成し、そのノードにスクリプトを作成(名前は任意)して、以下のコードを貼り付けてください:
extends Node
@onready var switch_settings: SwitchSettings = $"../SwitchSettings"
var GO:GameObject
func _ready() -> void:
GO = owner as GameObject
GO.input_pickable = true
GO.mouse_entered.connect(_on_mouse_entered)
GO.mouse_exited.connect(_on_mouse_exited)
func _on_mouse_entered() -> void:
switch_settings.set_value("can_click",true)
func _on_mouse_exited() -> void:
switch_settings.set_value("can_click",false)
- マウスはゲームオブジェクトの Collision2D 領域内で検出されているため、サイズを正しく設定してください:
これで完了です!オブジェクトをクリックしてビジュアルスクリプトのロジックに基づいて反応する、動作するクリックシステムが完成します。この動画では単に「テキスト表示」アクションを呼び出すように設定していますが、可能性は無限大です!



