2013-11-21 6 views
0

Я пытаюсь создать свою первую java-игру. Я в настоящее время возился с добавлением текстур, но я столкнулся с проблемой.Изменено изображение, но оно не отображается в моей java-игре

Я могу загрузить изображение, которое я покажу в игре, но если я сделаю изменение изображения в фотошопе, а затем повторю, игра не изменится.

также, если я сделал копию изображения, а затем изменил путь, чтобы указать на это изображение, в котором отображаются игры и ошибки.

public static Render floor = loadBitmap("/textures/floor.png"); 

эта часть кодовых точек, где хранится изображение и игра будет работать, но если я изменить изображение в фотошопе ничего не меняется в игре.

public static Render floor = loadBitmap("/textures/floorp.png"); 

Если я изменяю путь к другому изображению в той же папке, я получаю эту ошибку.

Exception in thread "Thread-2" java.lang.ExceptionInInitializerError 
at com.mime.minefront.graphics.Render3D.floor(Render3D.java:42) 
at com.mime.minefront.graphics.Screen.render(Screen.java:27) 
at com.mime.minefront.Display.render(Display.java:144) 
at com.mime.minefront.Display.run(Display.java:112) 
at java.lang.Thread.run(Thread.java:724) 
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: input == null! 
at com.mime.minefront.graphics.Texture.loadBitmap(Texture.java:20) 
at com.mime.minefront.graphics.Texture.<clinit>(Texture.java:8) 
... 5 more 
Caused by: java.lang.IllegalArgumentException: input == null! 
at javax.imageio.ImageIO.read(ImageIO.java:1388) 
at com.mime.minefront.graphics.Texture.loadBitmap(Texture.java:12) 
... 6 more 
BUILD SUCCESSFUL (total time: 1 second) 

И это код, который я использую в своем классе текстур.

package com.mime.minefront.graphics; 

import java.awt.image.BufferedImage; 
import javax.imageio.ImageIO; 

public class Texture { 

public static Render floor = loadBitmap("/textures/floorp.png"); 

public static Render loadBitmap(String fileName) { 
    try { 
     BufferedImage image = ImageIO.read(Texture.class.getResource(fileName)); 
     int width = image.getWidth(); 
     int height = image.getHeight(); 
     Render result = new Render(width, height); 
     image.getRGB(0, 0, width, height, result.pixels, 0, width); 
     return result; 
    } catch (Exception e) { 
     System.out.println("CRASH!"); 
     throw new RuntimeException(e); 

    } 
} 

} 
+0

Возможно, этого файла не существует ...? –

+0

Отсутствие пола не существует. я просто считаю странным, что, хотя я меняю пол в Photoshop, изменения не появляются в игре – dannyb1071

ответ

0

Похоже, что путь, который вы загружаете, находится в вашем файле Jar приложения. Вероятно, вы сохраняете изображение, но не обновляете свой Jar, поэтому изменения не распространяются. Это также объясняет, почему floorp.png не найден. Переустановите приложение, когда вы вносите изменения в каталог изображений.

Смежные вопросы