最近、整数の配列を昇順に並べ替える方法を学びました。ゲームをプログラミングしようとしていますが、その一部にはレイヤード テクスチャ レンダラーの作成が含まれていました。ただし、2 つのオブジェクトがまったく同じレベル (y 位置が同じ) の場合、並べ替えプロセスにより、そのうちの 1 つが消えます。
どうしてこれなの?これが私のコードです:
public void sort() {
int i = 0;
while (i < yposCount) {
order[i] = ypos[i];
i++;
}
Arrays.sort(order);
int j = 0;
while (j < yposCount) {
int k = 0;
while (k < yposCount) {
if (order[j] == ypos[k]) {
finalOrder[j] = k;
}
k++;
}
j++;
}
}