世界で最も簡単なことだと思うかもしれませんが、必要のない複雑さを伴わない解決策や、理解できないアプローチを使用する解決策が見つかりません.
私は、配列内に 3 つの位置を持つ単一のオブジェクトの配列を持っています。スクリプトが実行されるたびに、問題のキューブが [1] に設定され、このキューブの前に新しいキューブが作成されて [2] に設定され、前のキューブがあれば、それが[0] に設定します。この結果、配列は常に更新され、プレーヤーによってアクティブ化されたキューブが配列の下にシフトする必要があります。[0] がデバッグ時に null を返し続けることを除いて、すべての点で問題なく動作します。
問題のキューブの前のキューブは既に [1] に設定されているため、コードの最初のステップはこれを [0] に変更することです。
objectList[0] = objectList[1]; // Demotes current object[1] to [0].
多くの人が独自の関数を作成し、 splice メソッドを使用して配列スペースの不足を回避していることは理解していますが、この種の複雑さは本当に必要ありません。位置 [1] のオブジェクトを位置 [0] に設定するだけです。API などで単純なキーワードが欠落していないことを願っています。