设置仅当鼠标点击触及游戏对象的 Collision2D 区域时生效的简单鼠标点击行为的说明。此说明不包含光标操作或其他功能,纯粹是点击并让相应的游戏对象做出反应。
-
在项目设置中添加鼠标点击输入:
-
为希望可点击的对象添加一个
can_click开关,这将作为防止随意点击并使对象做出反应的防护:
-
在可视化脚本中,使“任意状态”链接检查鼠标输入和
can_click开关。输出链接可以是任何内容,例如计时/重新点击等,且无需检查该开关:
-
你需要一点代码……但它非常简单且可复制粘贴。创建一个节点,并在该节点上创建一个脚本(名称可任意),然后粘贴以下代码:
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 区域内,因此请确保正确设置其大小:
就是这样!你现在应该拥有一个可工作的点击系统,可以点击对象并根据可视化脚本逻辑做出响应。在本视频中,我只是让它调用一个“显示文本”操作,但可能性无限!



