根据Unity中的触摸更改速度

时间:2014-03-05 08:55:14

标签: unity3d touch

我有以下Bird,我希望当玩家触摸屏幕上的一个点以对Bird施加速度并将其移动到该点。

enter image description here

所以我写了以下内容:

 if (Input.touches.Length > 0)
        {
            foreach(Touch touch in Input.touches ){

                Vector2 pos = touch.deltaPosition;
                rigidbody2D.velocity = pos;

            }

        }

问题在于,只有当手指在屏幕上移动而不是像点击或点击一样时,才会执行此操作。知道如何实现我的目标?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您不应直接修改速度。这可能导致不切实际的行为。我建议你使用rigidbody.AddForce(方向:Vector3)。在Update Loop中添加您的功能并使用中断;如果您想要仅仅添加一次力而不是显示器上的每一根手指,请离开foreach。