我使用内置 Button 类创建了一个按钮,并将按钮掩码设置为 BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT。现在,左键单击和右键单击都会发出“按下”信号,但我需要一种方法来判断用户是使用鼠标左键还是右键单击。
扩展 Button 类,并在左键单击或右键单击按钮时创建并发出自定义信号。
在《戈多4》中:
class_name EventButton
extends Button
signal left_click
signal right_click
func _ready():
gui_input.connect(_on_Button_gui_input)
func _on_Button_gui_input(event):
if event is InputEventMouseButton and event.pressed:
match event.button_index:
MOUSE_BUTTON_LEFT:
left_click.emit()
MOUSE_BUTTON_RIGHT:
right_click.emit()
Run Code Online (Sandbox Code Playgroud)
在《戈多3》中:
class_name EventButton
extends Button
signal left_click
signal right_click
func _ready():
# warning-ignore:return_value_discarded
connect("gui_input", self, "_on_Button_gui_input")
func _on_Button_gui_input(event):
if event is InputEventMouseButton and event.pressed:
match event.button_index:
BUTTON_LEFT:
emit_signal("left_click")
BUTTON_RIGHT:
emit_signal("right_click")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1942 次 |
| 最近记录: |