Обнаружение нажатия / сенсорного ввода на 3D-объекте внутри Godot - PullRequest
0 голосов
/ 30 октября 2019

Я стараюсь изо всех сил построить мобильную игру на игровом движке Godot. И я столкнулся с проблемой. В 3D-игре, как я могу обнаружить щелчок мыши на конкретном объекте или, скорее, где этот объект находится на экране. Я не понимаю, как использовать узлы управления для того, чтобы к этому.

1 Ответ

0 голосов
/ 31 октября 2019

Самый простой способ сделать 3D-объект кликабельным - дать ему CollisionObject (например, StaticBody) и подключиться к сигналу input_event. Например, чтобы обнаружить щелчок левой кнопкой мыши:

extends StaticBody

func _ready():
    connect("input_event", self, "on_input_event")

func on_input_event(camera, event, click_position, click_normal, shape_idx):
    var mouse_click = event as InputEventMouseButton
    if mouse_click and mouse_click.button_index == 1 and mouse_click.pressed:
        print("clicked")

В документах упоминается, что события касания аналогичны событиям щелчка.

Обратите внимание, что input_ray_pickable должно бытьtrue на CollisionObject (по умолчанию).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...