1

我使用内置的 Button 类创建了一个按钮,并将按钮掩码设置为 BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT。现在左键和右键单击都会发出“按下”信号,但我需要一种方法来判断用户是用鼠标左键还是右键单击。

4

1 回答 1

2

扩展 Button 类,并在按钮被左击或右击时创建并发出自定义信号。

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")
于 2021-02-07T17:27:59.720 回答