[英]GameObject does not move after transform.position
我有一個我嘗試移動的游戲對象。 對於游戲對象,我創建了一個新類,這個類有一個函數 UpdatePosition()。 在這個函數中,我更新了 GameObject 的 transform.position,如果我記錄了對象的 transform.position,控制台會寫入新更新的位置。 但是,在 Unity 的游戲和場景視圖中,對象不會移動。 我通過 Update 函數在每個刻度上調用該函數,這是因為 Debug.Log 每次刻度輸出到控制台。 有誰知道這里出了什么問題?
public class ActiveObjects
{
[SerializeField]
public GameObject theMovingObject;
[SerializeField]
public Transform startPosition;
[SerializeField]
public Transform endPosition;
[NonSerialized]
private float speed = 10.0f;
[NonSerialized]
public float startTime;
[NonSerialized]
public float journeyLength;
// Sets new position of theMovingObject
public void UpdatePosition()
{
float step = speed * Time.deltaTime;
theMovingObject.transform.position = Vector3.MoveTowards(theMovingObject.transform.position, endPosition.position, step);
Debug.log(theMovingObject.transform.position);
}
}
控制台中的輸出是 theMovingObject 應該具有但在游戲/場景視圖中沒有的位置。
我這樣做了:
Vector3 newPosition = new Vector3();
newPosition.x = *;
newPosition.y = *;
newPosition.z = *;
transform.position = newPosition;
如果您想要十進制數字,請執行以下操作:
newPosition.x = 0.5f;
*任何數字
簡單解釋一下:
向量 2 = X, Y
向量 3 = X,Y,Z
明白了嗎? 如果它不起作用,只需在此答案中發表評論。 你好,Tjovo 工作室。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.