我有以下Bird,我希望当玩家触摸屏幕上的一个点以对Bird施加速度并将其移动到该点。
所以我写了以下内容:
if (Input.touches.Length > 0)
{
foreach(Touch touch in Input.touches ){
Vector2 pos = touch.deltaPosition;
rigidbody2D.velocity = pos;
}
}
问题在于,只有当手指在屏幕上移动而不是像点击或点击一样时,才会执行此操作。知道如何实现我的目标?
答案 0 :(得分:1)
在这种情况下,您不应直接修改速度。这可能导致不切实际的行为。我建议你使用rigidbody.AddForce(方向:Vector3)。在Update Loop中添加您的功能并使用中断;如果您想要仅仅添加一次力而不是显示器上的每一根手指,请离开foreach。