我有一個 GameObject 陣列,如何使用 float[] 將 GameObject.position 存盤到新陣列中?
我嘗試使用下面的代碼,但它不作業......
public float[] Storeposition;
public GameObject[] Go;
public save(){
storeposition = new float[Go.count * 3]
for(int i = 0; i < Go.count; i ){
for(int b = 0; b < (Go.count * 3); b ){
storeposition[b] = Go[i].transform.position.x;
storeposition[b 1] = Go[i].transform.position.y;
storeposition[b 2] = Go[i].transform.position.z;
b = b 2
}
}
}
uj5u.com熱心網友回復:
Vector3 允許索引訪問向量的各個組件
var myVector3 = new Vector3(4, 5, 6);
var xComponent = myVector3[0]; // 4
var yComponent = myVector3[1]; // 5
var zComponent = myVector3[2]; // 6
這有助于我們通過使用當前迭代器直接訪問每個組件來簡化 for 回圈。
var positions = new float[gameObjects.Length * 3];
for (int i = 0; i < gameObjects.Length; i )
{
for (int ii = 0; ii < 3; ii )
{
positions[i * 3 ii] = gameObjects[i].transform.position[ii];
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/435811.html
