Я создал кнопку, используя встроенный класс Button, и установил маску кнопки на BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT. Теперь и левый, и правый щелчок вызывают излучение сигнала «нажатие», но мне нужен способ узнать, щелкнул ли пользователь левой или правой кнопкой мыши.
Как я могу расширить кнопку Godot, чтобы различать события щелчка левой кнопкой мыши и события щелчка правой кнопкой мыши?
Ответы (1)
Расширьте класс 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")
person
Dave
schedule
07.02.2021