有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

未在小程序中加载java图像

Possible Duplicate:
Converted Java Game to Applet; Wont load pictures

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

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) 个答案

  1. # 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);  
    
    }