【问题标题】:Unity: Touch controls during Update functionUnity:更新功能期间的触摸控制
【发布时间】:2019-12-28 22:35:35
【问题描述】:

我创建了一个PlayerInputHandler,将其添加到我的主gameObject 以处理用户输入(触摸,因为它适用于移动设备)。 我只是有一个角色,我可以通过在我的屏幕上触摸它来选择它并通过再次触摸这个角色来取消选择。

public class PlayerInputHandler : MonoBehaviour
{
  void Update()
  {
    if(Input.touchCount > 0){
      Touch pos = GetMouseWorldPositionWithZ(Input.GetTouch(0).position, Camera.main);
      if(checkIfPosCorrespondsToCharacter(pos)) {
        characterSelected != characterSelected;
      }
    }
  }
}

但是,有时,它会直接选择和取消选择我的角色。会不会是因为在一个“touch event”期间多次调用了update

【问题讨论】:

  • 是的。创建一个标志,在触地时设置它,在触地时重置它。

标签: c# unity3d


【解决方案1】:

由于在屏幕上一次触摸会触发多次更新,因此需要有一个标志来防止它被连续触发多次。

【讨论】:

    猜你喜欢
    • 2019-11-30
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 2013-11-28
    • 1970-01-01
    相关资源
    最近更新 更多