Вход через видовые окна в Годо - PullRequest
0 голосов
/ 23 октября 2018

В моем проекте Godot 3 у меня есть следующая иерархия

  • Game (Node2D)
    • GameViewportContainer (ViewportContainer)
      • Viewport
      • Camera2D
    • UIViewportContainer
      • Область просмотра

Эта иерархияполезно для масштабирования игрового окна (пиксельная графика) при изменении размера экрана и поддержания стандартного разрешения интерфейса пользователя.

У меня вопрос, как я могу увеличить (или уменьшить) ввод мыши в $ GameViewportContainer / Viewport .Я создаю экземпляр дочернего объекта на этом узле (node2d, содержащий спрайт) со скриптом, прикрепленным для обнаружения щелчка левой кнопкой мыши.По какой-то причине, когда экземпляр где-либо, даже в корневом узле, ввод не будет работать.

Код на инстанцированном узле - подключен к дочернему input_event сигналу:

func _on_UnitBuilder_input_event(viewport, event, shape_idx):
    if (event is InputEventMouseButton && event.pressed && event.button_index == BUTTON_LEFT):
    print("clicked")

Я не уверен, что из-за этой конфигурации видовые порты запутались?Я протестировал создание этого потомка в другой сцене непосредственно в корневом узле Node2D, и он работал просто отлично.Я подозреваю, что проблема в том, что область просмотра должна передавать входные данные от ребенка и наоборот, но я не уверен, является ли это автоматическим или как это сделать.

Большое спасибо

...