【问题标题】:Change velocity based on a touch in Unity在 Unity 中根据触摸更改速度
【发布时间】:2014-03-05 08:55:14
【问题描述】:

我有以下小鸟,我希望当玩家触摸屏幕上的一个点时对小鸟应用速度并将其移动到该点。

所以我写了以下内容:

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

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

            }

        }

问题在于,仅当屏幕上有手指移动之类的东西而不是点击或点击之类的东西时才会执行此操作。知道如何实现我想要的吗?

【问题讨论】:

    标签: unity3d touch


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      • 2014-03-16
      • 2018-02-24
      • 1970-01-01
      • 2019-11-30
      • 1970-01-01
      相关资源
      最近更新 更多