Spiele Tutorial.. Findet Bilddateien nicht

Mr. Moon

Mitglied
Hallo, ich mache zur Zeit dieses Tutorial: http://archon.bplaced.net/bain09/Studium/Programmieren/Java/Turorials/Spiele/Tutorial%20f%FCr%20Java-Spiele%20.pdf

Ich habe alles genauso gemacht wie im Tutorial bis zu dem Punkt wo man angeblich den Helikopter steuern kann. Der öffnet zwar das Fenster aber ich habe 0 FPS und zur Laufzeit bekomme ich folgenden Fehler: Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at GamePanel.loadPics(GamePanel.java:64)
at GamePanel.doInitializations(GamePanel.java:49)
at GamePanel.<init>(GamePanel.java:42)
at GamePanel.main(GamePanel.java:153)

Ich habe es auch schon mit absolutem Pfad probiert, sowie \ und / .. Ich habe echt keine Ahnung und bin für jede Hilfe dankbar.

Java:
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.Vector;

public class GamePanel extends JPanel implements Runnable, KeyListener {
    
	private static final long serialVersionUID = 1L;
	boolean game_running = true;
	
	long delta = 0;
	long last  = 0;
	long fps   = 0;
	
	boolean up    = false;
	boolean down  = false;
	boolean left  = false;
	boolean right = false;
	int speed = 50;
	Sprite mj;
	Vector<Sprite> actors;
	
	public GamePanel(int w, int h) {
		this.setPreferredSize(new Dimension(w,h));
		JFrame frame = new JFrame("BomberMJ");
		frame.setLocation(100,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.addKeyListener(this);
		frame.add(this);
		frame.pack();
		frame.setVisible(true);
		doInitializations();
	}
	
	private void doInitializations() {
	    last = System.nanoTime();
		
	    actors = new Vector<Sprite>();
	    BufferedImage[] player = this.loadPics("pics/test.gif", 4);
	    mj = new Sprite(player, 400, 300, 100, this);
	    actors.add(mj);
		Thread t = new Thread(this);
	    t.start();
	}
	
	private BufferedImage[] loadPics(String path, int pics) {
		
		BufferedImage[] anim = new BufferedImage[pics];
		BufferedImage source = null;
		
		URL pic_url = getClass().getClassLoader().getResource(path);
		
		try {
			source = ImageIO.read(pic_url);
		}
		
		catch(IOException e) {
			
		}
		
		for(int x = 0; x < pics; x++) {
			anim[x] = source.getSubimage(x * source.getWidth() / pics, 0, source.getWidth() / pics, source.getHeight());
		}
		
		return anim;
	}
	private void computeDelta() {
		delta = System.nanoTime() - last;
		last  = System.nanoTime();
		
		fps = ((long) 1e9) / delta;
	}
	
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		
		g.setColor(Color.red);
		g.drawString("FPS: " + Long.toString(fps), 20, 10);
		
		if(actors != null) {
			for(Drawable draw : actors) {
				draw.drawObjects(g);
			}
		}
	}
	
	private void doLogic() {
		for(Movable mov : actors) {
			mov.doLogic(delta);
		}
	}
	
	private void moveObjects() {
		for(Movable mov : actors) {
			mov.move(delta);
		}
	}
	
	private void checkKeys() {
		if(up) {
			mj.setVerticalSpeed(-speed);
		}
		
		if(down) {
			mj.setVerticalSpeed(speed);
		}
		
		if(right) {
			mj.setHorizontalSpeed(speed);
		}
		
		if(left) {
			mj.setHorizontalSpeed(-speed);
		}
		
		if(!up && !down) {
			mj.setVerticalSpeed(0);
		}
		
		if(!left && !right) {
			mj.setHorizontalSpeed(0);
		}
	}
	public void run() {
		while(game_running) {
		    computeDelta();
		    checkKeys();
		    doLogic();
		    moveObjects();
		    
		    repaint();
			
			
			try {
				Thread.sleep(10);
			}
			
			catch (InterruptedException e) {}
		}
	}
	public static void main(String[] args) {
		
		new GamePanel(800,600);
	}

	@Override
	public void keyPressed(KeyEvent e) {
		// TODO Auto-generated method stub
		
		if(e.getKeyCode() == KeyEvent.VK_UP) {
			up = true;
		}
		
		if(e.getKeyCode() == KeyEvent.VK_DOWN) {
			down = true;
		}
		
		if(e.getKeyCode() == KeyEvent.VK_LEFT) {
			left = true;
		}
		
		if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
			right = true;
		}
	}

	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub
		
		if(e.getKeyCode() == KeyEvent.VK_UP) {
			up = false;
		}
		
		if(e.getKeyCode() == KeyEvent.VK_DOWN) {
			down = false;
		}
		
		if(e.getKeyCode() == KeyEvent.VK_LEFT) {
			left = false;
		}
		
		if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
			right = false;
		}
	}

	@Override
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub
		
	}
}
 

Toriath

Mitglied
Benutzt du zufällig IntelliJ?

Ich hatte das Problem das seltsamer Weise keine GIF Bilder geladen werden konnten.
Versuche einmal anstelle des GIFs ein PNG zu verwenden. (Einfach mit Paint oder so das Format ändern^^)
Ich habe absolut keine Erklärung für dieses Problem und habe selbst Stunden damit Verbracht eine Lösung zu finden. Nur das PNG konnte helfen.
Bei Ecplise im Gegenzug haben GIFs problemlos funktioniert.

MfG,
Toriath

EDIT: Ich wäre immernoch glücklich wenn mir jemand erklären könnte warum dies so ist :)
 
Zuletzt bearbeitet:

Toriath

Mitglied
Nun, dann probiere mal
Code:
.getClassLoader()
weg zu lassen oder anstelle davon:
Java:
URL pic_url = getClass().getClassLoader().getResource(path);        
        try {
            source = ImageIO.read(pic_url);
        }
        
        catch(IOException e) {            
        }

Das hier zu verwenden:
Java:
InputStream inputStream = getClass()getResourceAsStream(path);
        
        try {
            source = ImageIO.read(inputStream);
        }
        
        catch(IOException e) {
            
        }

Bin mir grade nicht 100% sicher aber ich denke so sollte es richtig sein.
 

Mr. Moon

Mitglied
Das mit dem obigen Code geht auch nicht. Ich habe es jetzt auf meinem anderen Linux Rechner getestet und da geht es. Kann mir einer vielleicht sagen, woran das liegen könnte?

edit: Ich benutze auf meinem Hauptrechner Windows 7
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Drawable und Moveable in Quaxli 2D Spiele Tutorial Spiele- und Multimedia-Programmierung 7
Gossi Probleme beim Laden der Images aus dem "Tutorial für Java-Spiele" Spiele- und Multimedia-Programmierung 4
X Gutes 2D Spiele Tutorial? Spiele- und Multimedia-Programmierung 9
X JPCT 3d-Spiele Programmierung Tutorial Spiele- und Multimedia-Programmierung 40
X 3D Spiele Tutorial gewünscht? Spiele- und Multimedia-Programmierung 14
N Seltsame Exception bei Code eines Spiele-Tutorials Spiele- und Multimedia-Programmierung 6
N Escape the Room - Spiele Apps programmieren Spiele- und Multimedia-Programmierung 14
Noahscript 3D-Spiele Spiele- und Multimedia-Programmierung 7
mihe7 Wie man einfache Spiele programmieren kann Spiele- und Multimedia-Programmierung 23
N Spiele-Menü in Java Spiele- und Multimedia-Programmierung 9
T Neuronale Netze und Spiele Spiele- und Multimedia-Programmierung 4
H KI für Spiele Spiele- und Multimedia-Programmierung 1
H 3D Spiele mit Java - Diskussion Spiele- und Multimedia-Programmierung 35
D 2d Spiele Bibliothek Spiele- und Multimedia-Programmierung 9
K Casino Spiele UI Spiele- und Multimedia-Programmierung 7
J 2D Spiele - Inwiefern Vektorrechnung nötig? Spiele- und Multimedia-Programmierung 7
S Aufbau für 2D Spiele Spiele- und Multimedia-Programmierung 7
B Spiele Tutorials Spiele- und Multimedia-Programmierung 9
F wie richtig spiele programmieren ? Spiele- und Multimedia-Programmierung 19
C Java für große Spiele geeignet ? Spiele- und Multimedia-Programmierung 101
B Spiele programmieren für ein Fenster? Spiele- und Multimedia-Programmierung 14
V Online-Spiele syncronisieren. Spiele- und Multimedia-Programmierung 5
L 2D-Spiele ruckeln auf JPanel Spiele- und Multimedia-Programmierung 7
J Suche Java Spiele Editor! Spiele- und Multimedia-Programmierung 2
Developer_X Java3D-Ungeeignet für 3D Spiele wegen Heap Space=? Spiele- und Multimedia-Programmierung 23
D Spiele Wuerfel 3D aber wie Spiele- und Multimedia-Programmierung 6
D Problem mit dem Spiele TUT Spiele- und Multimedia-Programmierung 16
H 2d- Spiele Entwicklung Spiele- und Multimedia-Programmierung 11
D sehr simple Java Spiele Platformübergreifend für Handys/PDAs Spiele- und Multimedia-Programmierung 3
Quaxli Welche Grafiksoftware nutzt Ihr für 2D-Spiele? Spiele- und Multimedia-Programmierung 6
D Welcher Image Typ am besten für 2D-Spiele geeignet? Spiele- und Multimedia-Programmierung 5
G Bekannte Spiele in Java programmiert Spiele- und Multimedia-Programmierung 9
R Spiele für den DVD Player Spiele- und Multimedia-Programmierung 6
F 2d Spiele Spiele- und Multimedia-Programmierung 4
J soundlösung zu langsam für spiele Spiele- und Multimedia-Programmierung 16
T Größeres Spiele Projekt - einige Fragen zur Umsetzung Spiele- und Multimedia-Programmierung 3
O soundlösung für spiele (mit lautstärke) Spiele- und Multimedia-Programmierung 4
Landei Entwicklungsumgebung für "Pseudo-3D"-Spiele? Spiele- und Multimedia-Programmierung 17
A Spiele kommentieren Spiele- und Multimedia-Programmierung 4
M Images/Sounds für Spiele Spiele- und Multimedia-Programmierung 3
A Werden "große Spiele" mal in Java programmiert? Spiele- und Multimedia-Programmierung 43
H Große Spiele in welcher Sprache Spiele- und Multimedia-Programmierung 33
R eure programmierten Spiele Spiele- und Multimedia-Programmierung 53
Finalspace Entwicklung eines Jump & Run Spiels Video-Tutorial Spiele- und Multimedia-Programmierung 12
Ruvok Java3D Tutorial gesucht Spiele- und Multimedia-Programmierung 5
K FBO Framebuffer object [LWJGL] 2D tutorial gesucht Spiele- und Multimedia-Programmierung 2
F quaxlis tile map programming tutorial prob Spiele- und Multimedia-Programmierung 4
codestück shader tutorial Spiele- und Multimedia-Programmierung 4
Helgon OpenGL vernünftige Tutorial? Spiele- und Multimedia-Programmierung 22
H Jump&Run Tutorial Spiele- und Multimedia-Programmierung 3
Gossi Quaxlis 2D Tutorial....Probleme nach hinzufügen der Kollisionsabfrage Spiele- und Multimedia-Programmierung 16
E Quaxli Tutorial Problemchen Spiele- und Multimedia-Programmierung 3
F Suche Tutorial zu "purem" OpenGL mit Java Spiele- und Multimedia-Programmierung 10
S Probleme mit Tutorial Spiele- und Multimedia-Programmierung 3
H Repaint-Problem mit Quaxlis Tutorial Spiele- und Multimedia-Programmierung 2
O Suche Tutorial zum Aufbau von großen Spielen(mit Multiplayer über Netzwerk...) Spiele- und Multimedia-Programmierung 3
M Problem mit 2D-Spieleprogrammierung Tutorial von Quaxli Spiele- und Multimedia-Programmierung 7
A Java3D tutorial? Spiele- und Multimedia-Programmierung 3
prakdi Probleme mit Quaxlis tutorial Spiele- und Multimedia-Programmierung 5
I Bilder aus Quaxli's Tutorial Spiele- und Multimedia-Programmierung 3
radiac Sprit ist leer bei Quaxli´s Heli Tutorial Spiele- und Multimedia-Programmierung 28
H Tutorial von Quaxli (Problem) Spiele- und Multimedia-Programmierung 16
hdi gutes Tutorial zu 3d->2d Projektion? Spiele- und Multimedia-Programmierung 13
hdi Das java-forum.org 2D-Game Projekt/Tutorial Spiele- und Multimedia-Programmierung 6
A Tutorial für die Entwicklung einer Fussball-KI gesucht Spiele- und Multimedia-Programmierung 7
K Game-Tutorial von Quaxli Fragen Spiele- und Multimedia-Programmierung 18
M Flugbahnberechnung (Quaxlis Tutorial) Spiele- und Multimedia-Programmierung 5
G frage zu tutorial Spiele- und Multimedia-Programmierung 3
S Problem mit Physik-Tutorial Spiele- und Multimedia-Programmierung 5
G suche das tutorial für den space invaders Spiele- und Multimedia-Programmierung 2
Z Suche Tutorial zum Einstieg in OpenGl mit Java (JOGL) Spiele- und Multimedia-Programmierung 2
M Suche Games tutorial mit JOGL Spiele- und Multimedia-Programmierung 8
conan2 Partikelsystem(-tutorial)? Spiele- und Multimedia-Programmierung 3
P Suche Tutorial für Multiplayer Spiele- und Multimedia-Programmierung 2
R Tutorial falsch?! Spiele- und Multimedia-Programmierung 22
H Bemerkungen zu 2. Tutorial Spiele- und Multimedia-Programmierung 3
I Java 3d tutorial Spiele- und Multimedia-Programmierung 2
I Java3D-Tutorial, die zweite. Spiele- und Multimedia-Programmierung 9
N gutes Tutorial Spiele- und Multimedia-Programmierung 6
C Java findet FluidSynth nicht Spiele- und Multimedia-Programmierung 2
W [libGDX] findet SplashScreen.png nicht Spiele- und Multimedia-Programmierung 4
G Ausführbare Jar findet Bilddateien nicht... Spiele- und Multimedia-Programmierung 4
N JMF - CaptureDeviceManager findet kein device Spiele- und Multimedia-Programmierung 2
S Jogl findet keine GLProfile ? Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben