私が取り組んでいるアプリケーションには、Android API サンプルのKubeアプリケーションを使用しています。
このサンプルは、27 個の小さな立方体から作成された OpenGL のルービック キューブのモデルを作成します。その後、立方体のランダムなレイヤーを回転させることにより、animate() メソッドで立方体がスクランブルされます。各回転の後、完全には理解できないプロセスでレイヤーがそれに応じて設定されます。
// adjust mPermutation based on the completed layer rotation
int[] newPermutation = new int[27];
for (int i = 0; i < 27; i++) {
newPermutation[i] = mPermutation[mCurrentLayerPermutation[i]];
// newPermutation[i] = mCurrentLayerPermutation[mPermutation[i]];
}
mPermutation = newPermutation;
updateLayers();
サンプルは正常に動作しますが、何らかの理由で回転の方向を true に変更すると、レイヤーが正しく更新されていないかのように、立方体が互いに重なり始めます。
助けていただければ幸いです:)