Unity3D 中的触摸和滑动问题



我有一个游戏,你滑动一些东西,当你找到特别的东西时。您无需滑动,只需点击它即可。为此,我创建了以下代码,但它没有按我想要的方式工作:

void Update()
{
if (Input.touchCount > 0)
{
// get the first one
Touch firstTouch = Input.GetTouch(0);
// if it began this frame
if (firstTouch.phase == TouchPhase.Began)
{
if (firstTouch.position.x > screenCenter)
{
Anim.SetBool("Swiper", true);
print("Swipe");
}
}
else if (firstTouch.phase == TouchPhase.Stationary)
{
if (E.FInt == 1)
{
//Sound
print("Debugged");
SceneManager.LoadScene(Beh.SceneArray[Beh.Counter]);
}
}
}
}

这里的问题是,即使您只是点击,它也会执行您滑动时的代码。

让我们看看这一部分:

// if it began this frame
if (firstTouch.phase == TouchPhase.Began)
{
if (firstTouch.position.x > screenCenter)
{
Anim.SetBool("Swiper", true);
print("Swipe");
}
}

如果触摸阶段Began并且触摸位于屏幕右侧,那么显然这是一个滑动。

不,不,不是。这才刚刚开始。它还没有机会被刷

最新更新