图像未在Applet中加载

时间:2012-12-07 22:27:58

标签: java image

  

可能重复:
  Converted Java Game to Applet; Wont load pictures

我的所有地面纹理都有一个图像,比如spritesheet但只是垂直的,它每次只给我第一块(草)。下面是加载和裁剪图像的代码:

for (int i = 0; i < Screen.tileset_ground.length; i++) {

    URL imgUrl = getClass().getResource("tileset_ground.png");
    Screen.tileset_ground[i] = getImage(imgUrl);


    ImageFilter imgF = new CropImageFilter(0, 26 * i, 26, 26);
    ImageProducer imgP = new FilteredImageSource(Screen.tileset_ground[i].getSource(), imgF);
    Screen.tileset_ground[i] = createImage(imgP);  

}

1 个答案:

答案 0 :(得分:1)

首先,您需要将for循环中的前两行移到其外部。你只需要做一次这个步骤。

其次,你需要弄清楚你的tileset中有多少个tile,并且只重复那么多次。

那么也许是这样的?

URL imgUrl = getClass().getResource("tileset_ground.png");
tileset_image = getImage(imgUrl);

num_images = HOWEVER MANY IMAGES ARE IN THE TILESET

for (int i = 0; i < num_images; i++) {

    ImageFilter imgF = new CropImageFilter(0, 26 * i, 26, 26);
    ImageProducer imgP = new FilteredImageSource(tileset_image.getSource(), imgF);
    Screen.tileset_ground[i] = createImage(imgP);  

}