Я работаю над java-игрой, и игра отлично работает в eclipse, но когда я экспортировал ее как исполняемый файл jar, это не сработало. Появилось только черное окно.Eclipse экспортированный jar-файл просто показывает черный Jpanel
В моей игре есть заставка, которая через несколько секунд переключается на экран меню. экран заставки экрана BufferedImage (в jpg), но экран меню также состоит из записи Graphics2D. Через несколько секунд после запуска файла jar запись не появляется, поэтому я думаю, что форматы изображений и, возможно, не проблема.
Я довольно смущен и разочарован, поэтому любая помощь будет назначена.
Оказалось, что проблема в моем использовании таймера, это мой источник SplashScreen
package GameState;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.Timer;
import Main.GamePanel;
public class SplashState extends GameState implements ActionListener{
private BufferedImage image;
private Timer timer;
public SplashState(GameStateManager gsm) {
this.gsm = gsm;
try {
image = ImageIO.read(new File("Resources/Backgrounds/block.jpg"));
timer = new Timer(2000, this);
timer.setRepeats(false);
timer.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void init() {
}
public void update() {
}
public void draw(Graphics2D g) {
g.drawImage(image, (GamePanel.WIDTH-image.getWidth())/2, (GamePanel.HEIGHT-image.getHeight())/2, null);
}
public void keyPressed(int k) {
}
public void keyReleased(int k) {}
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
gsm.setState(GameStateManager.MENUSTATE);
timer.stop();
}
}
Я до сих пор не знаю, что это неправильно, так что любая помощь будет appriciated
Изображение включено в банку? Потому что, если это не так, это может быть проблемой, я не знаю о написании: /. – Roan
Да, я создал папку с ресурсами, полную пакетов изображений, но это сработало для моих других проектов, поэтому я не думаю, что это так. – user3000140
Хорошо, странно, это может быть глупая идея, но это сработало для меня, как только попробуйте запустить jar с .bat-файлом (или .sh). – Roan