1
我试图在Unity中的2D游戏中稍微改变一个球的速度,因为它与物体相撞,具体取决于它已经穿过的方向。是否有可能减去一个Vector2
在其中找到球行进的方向,我一直在使用
public Vector2 ballDirection;
public Vector2 lastPosition;
void OnCollisionEnter2D(Collision2D boing)
{
ballDirection = transform.position - lastPosition;
lastPosition = transform.position;
}
然而,这引发了一个错误读
Error CS0034 Operator '-' is ambiguous on operands of type 'Vector3' and 'Vector2'
球和任何物体之间的碰撞打印为UnityEngine.Vector3
确实有可能减去Vector2或者我是否可以更改莫名其妙的碰撞类型为Vector2?
第一段代码完美工作。谢谢你,我一直在努力尝试一切,并且为了一个答案而绞尽脑汁。它的接缝如此明显,以至于transform.position以Vector3开始。我只是假设将ballDirection设置为Vector2意味着任何变换命令都将是Vector2。 – Connarhea