gpt4 book ai didi

unity-game-engine - Unity Touch 阶段返回不正确的结果

转载 作者:行者123 更新时间:2023-12-02 11:19:13 25 4
gpt4 key购买 nike

Unity ,我正在尝试使用 Touch .

我遇到了不间断的问题,并决定先尝试一些简单的工作。

每当我按下屏幕时,我都会期待Touch.phase每次都返回TouchPhase.Began。但是,第一次触摸屏幕时有时会返回TouchPhase.Stationary。我还注意到,当触摸离开屏幕时,它有时不会调用 TouchPhase.EndedTouchPhase.Canceled 。我做错了什么?

这是我非常简单的代码:

void FixedUpdate() {
if(Input.touchCount == 1) {
Touch touch = Input.GetTouch(0);

switch(touch.phase) {
case TouchPhase.Began:
Debug.Log("Began: " + touch.figerId);
break;
case TouchPhase.Stationary:
Debug.Log("Stationary");
break;
case TouchPhase.Moved:
Debug.Log("Moved");
break;
case TouchPhase.Canceled:
Debug.Log("Canceled");
break;
case TouchPhase.Ended:
Debug.Log("Ended");
break;
default:
Debug.Log("Default");
break;
}
}
}

最佳答案

Touch.phase 每帧都会更新,因此您必须在 Update() 方法中检查它。

FixedUpdate() 仅在每 x 帧(固定帧速率)调用,这就是您错过某些触摸阶段的原因。

关于unity-game-engine - Unity Touch 阶段返回不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com