Hallo zusammen
Ich habe eine Frage wie das genau mit dem Laden von Bildern geht mit Hilfe des MediTracker Klasse. Ich habe dies so versucht aber er gibt mir an dass ich einen Fehler bei der
Kann mir vielleicht jemand sagen was jetzt hier falsch ist oder fehlt? Vielen Dank schon im Voraus.
Liebe Grüsse Philippe
Hier noch die Klasse Mario
Ich habe eine Frage wie das genau mit dem Laden von Bildern geht mit Hilfe des MediTracker Klasse. Ich habe dies so versucht aber er gibt mir an dass ich einen Fehler bei der
habe. Das ist die Konsolenausgabe:mario.setImages(MarioLaufenRechts, MarioLaufenLinks,
MarioSpringenRechts, MarioSpringenLinks,
MarioStehenRechts, MarioStehenLinks);
Hallo
java.lang.NullPointerException
at Main.init(Main.java:31)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Kann mir vielleicht jemand sagen was jetzt hier falsch ist oder fehlt? Vielen Dank schon im Voraus.
Liebe Grüsse Philippe
Code:
import java.awt.*;
import java.applet.Applet;
/**
*
* @author Philippe Heer
*
*/
public class Main extends Applet implements Runnable{
private Image MarioLaufenRechts;
private Image MarioLaufenLinks;
private Image MarioSpringenRechts;
private Image MarioSpringenLinks;
private Image MarioStehenRechts;
private Image MarioStehenLinks;
private Mario mario;
// Thread in dem das Spiel laufen soll
Thread Main;
public void init(){
// Grösse des Applets und Hintergrundfarbe festlegen
setSize(900, 600);
setBackground(Color.black);
getImages();
mario.setImages(MarioLaufenRechts, MarioLaufenLinks,
MarioSpringenRechts, MarioSpringenLinks,
MarioStehenRechts, MarioStehenLinks);
}
public void getImages(){
MediaTracker tracker = new MediaTracker(this);
MarioLaufenRechts = getImage (getCodeBase(), "Images/Mario/MarioLaufenRechts.gif");
tracker.addImage(MarioLaufenRechts, 1);
MarioLaufenLinks = getImage (getCodeBase(), "Images/Mario/MarioLaufenLinks.gif");
tracker.addImage(MarioLaufenLinks, 2);
MarioSpringenRechts = getImage (getCodeBase(), "Images/Mario/MarioSpringenRechts.gif");
tracker.addImage(MarioSpringenRechts, 3);
MarioSpringenLinks = getImage (getCodeBase(), "Images/Mario/MarioSpringenLinks.gif");
tracker.addImage(MarioSpringenLinks, 4);
MarioStehenRechts = getImage (getCodeBase(), "Images/Mario/MarioStehenRechts.gif");
tracker.addImage(MarioStehenRechts, 5);
MarioStehenLinks = getImage (getCodeBase(), "Images/Mario/MarioStehenLinks.gif");
tracker.addImage(MarioStehenLinks, 6);
System.out.println("Hallo");
try{
tracker.waitForAll();
}
catch (Exception exception){
}
}
public void start(){
// Initialisieren und Starten des Threads Main
Main = new Thread(this);
Main.start();
}
public void run(){
while (true){
try{
Thread.sleep(14);
}
catch(Exception exceptioon){
}
repaint();
}
}
public void paint(Graphics g){
mario.anzeigen(g);
}
}
Code:
import java.awt.*;
public class Mario{
private Image MarioLaufenRechts;
private Image MarioLaufenLinks;
private Image MarioSpringenRechts;
private Image MarioSpringenLinks;
private Image MarioStehenRechts;
private Image MarioStehenLinks;
private Component parent;
public void setImages(Image MarioLaufenRechts, Image MarioLaufenLinks,
Image MarioSpringenRechts, Image MarioSpringenLinks,
Image MarioStehenRechts, Image MarioStehenLinks) {
this.MarioLaufenRechts = MarioLaufenRechts;
this.MarioLaufenLinks = MarioLaufenLinks;
this.MarioSpringenRechts = MarioSpringenRechts;
this.MarioSpringenLinks = MarioSpringenLinks;
this.MarioStehenRechts = MarioStehenRechts;
this.MarioStehenLinks = MarioStehenLinks;
}
public void anzeigen(Graphics g){
g.drawImage(MarioLaufenRechts ,100,250,20,32,parent);
g.drawImage(MarioLaufenLinks ,130,250,20,32,parent);
g.drawImage(MarioSpringenRechts ,160,250,20,32,parent);
g.drawImage(MarioSpringenLinks ,190,250,20,32,parent);
g.drawImage(MarioStehenRechts ,220,250,20,32,parent);
g.drawImage(MarioStehenLinks ,250,250,20,32,parent);
}
}