【发布时间】:2019-08-19 14:24:12
【问题描述】:
我已经 3 天试图解决这个问题,但仍然没有。我正在做一个游戏,通过使用手机的触摸屏,当你触摸屏幕时,一个球会移动到你手指的 X 位置,当你握住你的第一根手指时做一些不同的事情,你用第二根手指点击.
手机确实会检测到是第一次触摸还是第二次触摸,然后第二次执行它应该做的事情。但是第一次触摸并没有做它应该做的事情。我知道它已被检测到,因为我已经对其进行了测试。但是我让球移动的方式肯定有一些错误。
这是我的代码。
我尝试过使用 AddForce,但我不想让球在我松开手指后继续移动。还尝试了多种类型的触摸,也尝试了使用操纵杆,但在我松开手指后,球继续前进(稍微更远一些)。
foreach (Touch touch in Input.touches)
{
if (touch.fingerId == 0)
{
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
touchPosition.z = 0f;
if (touchPosition.x > transform.position.x)
{
transform.position = new Vector3(transform.position.x + 10, transform.position.y, transform.position.z);
}
else if (touchPosition.x < transform.position.x)
{
transform.position = new Vector3(transform.position.x - 10, transform.position.y, transform.position.z);
}
}
if (touch.fingerId == 1)
{
Accelerate();
}
}
我想要代码检测我的手指是更偏向球的左侧还是偏向球的右侧,并相应地向左或向右移动玩家。我也在努力让它“平稳”移动,不要太快,也不要太慢。之后,如果我移动手指而不抬起手指,球仍然会跟随它。
我花了 3 天时间尝试不同的想法....感谢您的帮助。也已经在许多帖子以及统一的文档和论坛中进行了搜索。还搜索了 youtube 视频...但没有发现任何真正有用的内容。
编辑。忘了提。目前这仅适用于 android。
【问题讨论】: