2012-12-07 5 views
-1

가능한 중복 : 이미지는 애플릿에로드되지


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); 

} 
+0

for 루프를 몇 번 반복합니까? –

+0

tileset_ground 배열을 100 슬롯으로 무작위로 설정했기 때문에 100 번 – user1871085

+0

타일셋의 길이가 100 개 미만이면 어떻게됩니까? –

답변

1

첫 번째로, for 루프 외부의 첫 번째 두 줄을 이동해야합니다. 이 단계는 한 번만 수행하면됩니다.

두 번째로 타일 세트에 몇 개의 타일이 있는지 알아야하며 여러 번 반복해야합니다.

어쩌면 이렇게 될 수 있나요?

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); 

} 
+0

nullptereception을 받고 있는데 \t \t ImageProducer imgP = new FilteredImageSource (Screen.tileset_ground [i] .getSource(), imgF); – user1871085

+0

tileset_ground [i]가 아직 생성되지 않았기 때문에 추측하고 있습니다 ... – user1871085

+0

tileset_image는 무엇을합니까? – user1871085