メインクラスでは、次のようにグラフィックス オブジェクトを描画しています。
//FIELDS
double FPS = 1000 / 60;
BufferStrategy bs;
public String ip;
private int cx = 0;
private Hero h;
private TileMap map;
private int speed = 12;
public mainCla (){
setPreferredSize(new Dimension(WIDTH, HEIGHT));
h = new Hero("Hero/res/hero.png",100,50);
map = new TileMap ("Hero/res/jun.png");
}
private void draw() {
bs = getBufferStrategy();
if (bs == null) {
createBufferStrategy(3);
return;
}
Graphics g = bs.getDrawGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.GREEN);
g.drawImage(h.hi, h.hx, h.hy, this);
g.fillOval(cx, 200, 40, 40);
bs.show();
}
次に、別のクラスで、ロードされた画像のトリミングを次のように設定しました。
public class TileMap {
//FIELDS
public String livpath;
BufferedImage mappa;
public int imgmapwidth;
public int imgmapheight;
public TileMap (String livpath ){
this.livpath = livpath;
BuildBlock();
try {
mappa = ImageIO.read (new File (livpath));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void BuildBlock () {
for (int x = 0; x < 128; x++)
{ for (int y = 0; y < 128; y++) {
mappa.getSubimage (0,0,x,y);
}
}
}
その後、メイン クラスから g.drawimage を使用して抽出されたタイルを描画しようとしましたが (明らかに、コンストラクターの要求に従って、画像のパスを使用してインスタンスを作成しました)、画像自体は表示されません。何か案が?ありがとう