私はJavaにかなり慣れていませんが、それに入っています。ただし、ここで見つけたこの例が機能しない理由について頭を悩ませることはできません。
クラスの開始時:
String[][] spritesPaint = new String[20][20];
メソッド内:
for (int funct1 = 0; funct1 <= 2; funct1++) {
if (funct1 == 0) {
for (int funct2 = 0; funct2 < rEnemyNumber; funct2++) {
spritesPaint[0][funct2] = new Integer(rEnemyY[funct2])
.toString();
spritesPaint[1][funct2] = rEnemyGraphic[funct2];
}
} else if (funct1 == 1) {
Arrays.sort(Integer.valueOf(spritesPaint[0].toString()),
new Comparator<Integer[]>() {
@Override
public int compare(final Integer[] entry1,
final Integer[] entry2) {
final Integer time1 = entry1[0];
final Integer time2 = entry2[0];
return time1.compareTo(time2);
}
});
} else if (funct1 == 2) {
for (int funct3 = 0; funct3 < rEnemyNumber; funct3++) {
if (rEnemyCheck[funct3] == true) {
nextPaint = getImage(base, rEnemyGraphic[funct3]);
System.out.println("Next: " + nextPaint);
g.drawImage(nextPaint, rEnemyX[funct3] + worldCenterX,
rEnemyY[funct3] + worldCenterY, this);
}
}
}
}
基本的に、私がやりたいことは、画面上のオブジェクトの Y 位置とそのオブジェクトに関連する画像パスを格納する 2 次元配列を持ち、それを Y 位置の整数で並べ替えることです。これにより、アイソメトリック パースペクティブの正しい順序で要素を画面にペイントできるようになります。
ただし、次のエラーが発生し続けます。
The method sort(T[], Comparator<? super T>) in the type Arrays
is not applicable for the arguments (Integer, new Comparator<Integer[]>(){})
助けてください。なぜ今このエラーが発生するのかを理解しようと、何時間も頭をひねっています。