だから私は地形と呼ばれる列挙型を持っています
public enum Terrain {
DIRT(4, "res/imgs/DirtTile.png"), GRASS(5, "res/imgs/GrassTile.png");
private String filePath;
private Image image;
private boolean imageLoaded;
private int value;
Terrain(int val, String imagePath) {
value = val;
filePath = imagePath;
imageLoaded = false;
}
public Image getImage() {
if (!imageLoaded) {
loadImage();
}
return image;
}
public void loadImage() {
try {
image = ImageIO.read(new File(filePath));
} catch (IOException e) {
System.err.println("Failed to load image!");
e.printStackTrace();
}
imageLoaded = true;
}
}
私が望むのは、int を地形値と比較して、等しい場合、その地形が画面に描画されるようにすることです。
みたいなことを考えていた
if(int==Terrain.value){}
しかし、これについてどうすればよいかよくわかりません。誰かがこれについて私を助けることができれば、それと比較したい int 配列があり、それが値と等しい場合は、そのタイルを別の画像配列に保存します。
編集:
getValue() メソッドを配置する必要があると言っているすべての人のために、値をすべての Enums のものと比較したいと思います。たとえば、4 に等しい場合は、イメージを (ダートに) 設定できます。
私は別のクラスでこれをチェックしています。