嘗試 transform.position.x = 7.0f; 會報錯,提示無法修改傳回值的成員。
transform.position 是屬性,其 getter 回傳 Vector3 結構體的**副本**。修改副本的 x 不會影響原始位置,編譯器為避免無效操作而禁止。
Vector3 pos = transform.position;
pos.x = 7.0f;
transform.position = pos;或使用 transform.Translate、transform.SetPositionAndRotation 等 API。
UnityScript 編譯器會自動將 transform.position.x = 7 展開為上述三步驟,因此看似可直接修改。