1 回答
TA贡献1818条经验 获得超3个赞
由于我是新来的,我还不能使用评论来提出更多问题。使用三星时到底什么不起作用?
不过,您可以简化计算。
float swipeValue = touch.position.x - startPos.x; //Mathf.Sign(touch.position.x - startPos.x);
if (swipeValue > 0)
{//right swipe
anim.Play(change_Line_Animation);
transform.localPosition = second_PosOfPlayer;
SoundManager.instance.PlayMoveLineSound();
}
else if (swipeValue < 0)
{//left swipe
anim.Play(change_Line_Animation);
transform.localPosition = first_PosOfPlayer;
SoundManager.instance.PlayMoveLineSound();
}
仅比较 > 或 < 小于 0 时不需要 Math.Sign。
case TouchPhase.Began:
startPos = touch.position.x; // startPos could be float
break;
因此,
float swipeDistHorizontal = Mathf.Abs(touch.position.x - startPos);
如果游戏仅使用水平滑动,则不需要向量来存储和计算滑动增量。
如果您提供更多信息,我很乐意提供更多帮助。
- 1 回答
- 0 关注
- 373 浏览
添加回答
举报