Unity3d 基于统一中的触摸改变速度

Unity3d 基于统一中的触摸改变速度,unity3d,touch,Unity3d,Touch,我有下面的鸟,我想当玩家触摸屏幕上的一个点时,对鸟施加速度,并将其移动到该点 所以我写了以下内容: if (Input.touches.Length > 0) { foreach(Touch touch in Input.touches ){ Vector2 pos = touch.deltaPosition; rigidbody2D.velocity = pos;

我有下面的鸟,我想当玩家触摸屏幕上的一个点时,对鸟施加速度,并将其移动到该点

所以我写了以下内容:

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

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

            }

        }

问题是,只有当屏幕上出现手指移动之类的动作时,才会执行此操作,而不是点击或轻敲之类的动作。你知道我怎样才能达到我想要的吗?

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