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