我正在尝试将两个不同的函数添加到godot中的按钮节点。我希望它在左键单击时显示一条消息,并使其附加的精灵在右键单击时消失。有没有办法在gdscript中执行此操作?
答案 0 :(得分:0)
我不确定您是否可以使用Button类区分左键单击和右键单击。但是,有多种简单的方法可以让精灵以你想要的方式做出反应。
我不确定你是否只是将Button添加为点击后作出反应的区域。如果是这样,您还可以为精灵添加Area2D(或3d)和碰撞形状。使用碰撞形状,您可以将Area2D节点的" input_event" -signal链接到Sprite脚本(或您在此场景中使用的任何脚本)。链接信号的最简单方法是通过编辑器左下方的信号功能区。
编辑器会自动创建一个新功能,您可以编写所需的任何行为:
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...
在使用is_action函数之前,您必须定义' left_click'和' right_click'到编辑器首选项下的输入映射。通常,使用输入映射而不是对所有键和按钮进行硬编码总是一个好主意。
我希望有所帮助。
祝福和编码愉快。