public void Update(){
GameObject[] BoxArray = new GameObject[16]{BoxLid1, BoxLid2, BoxLid3, BoxLid4, BoxLid5, BoxLid6, BoxLid7, BoxLid8, BoxLid9, BoxLid10, BoxLid11, BoxLid12, BoxLid13, BoxLid14, BoxLid15, BoxLid16};
for(int i = 0; i < BoxArray.Length; i++){
Transform theBoxLid = BoxArray[i].transform;
BlueBox.transform.Translate(theBoxLid.localPosition.x, theBoxLid.localPosition.y, 0);
Debug.Log(theBoxLid.localPosition.x);
}
}
私は上記の問題を解決した蓋を持っています。私はblueBoxを配列内のBoxLid上に移動したいが、動いていない。私はGameObjectを通してforループで何が起こっているのかよく分かりません
私はこのための解決策を見つけて、それは次のとおりです。
IEnumerator MoveBlueBox(){
GameObject[] BoxArray = new GameObject[16]{BoxLid1, BoxLid2, BoxLid3, BoxLid4, BoxLid5, BoxLid6, BoxLid7, BoxLid8, BoxLid9, BoxLid10, BoxLid11, BoxLid12, BoxLid13, BoxLid14, BoxLid15, BoxLid16};
for(int i = 0; i < BoxArray.Length; i++){
Transform theBox = BoxArray[i].transform;
BlueBox.transform.position = new Vector3(theBox.position.x, theBox.position.y, 0.0f);
yield return new WaitForSeconds(0.1f);
}
}
私はBlueBoxを取り、それは、配列をループして変更することで、0.1秒ごとBoxArray内のすべてのボックスの上に横たわって作っていますBlueBoxは位置を変換します。私が見つけた最も重要なことは、BoxArrays x、y、z座標内のすべてのボックスにボックスを正しく移動するために、「新しいVector3」を使用する必要があることでした。
'x、y'の代わりに' 'localPosition.x、localPosition.x''ですか? –
これは私のコードの中の私の部分のタイプです。それは –
です。 – CodingYoshi