簡體   English   中英

游戲對象在 transform.position 后不移動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM