通过Godot中的视口输入

时间:2018-10-22 21:05:04

标签: input signals game-engine viewport godot

在我的Godot 3项目中,我具有以下层次结构

  
      
  • 游戏(Node2D)      
        
    • GameViewportContainer(ViewportContainer)      
          
      • 视口
      •   
      • Camera2D
      •   
    •   
    • UIViewportContainer      
          
      • 视口
      •   
    •   
  •   

此层次结构可用于在调整屏幕大小时缩放(像素艺术)游戏视口,并将UI保持在标准分辨率。

我的问题是,如何在 $ 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根节点中直接在另一个场景中实例化了这个孩子,效果很好。我怀疑问题在于视口应该传递孩子的输入,反之亦然,但是我不确定这是自动的还是怎么做的。

非常感谢

0 个答案:

没有答案