Quaxli Tutorial - Bild nicht sichtbar

Ruderer1993

Aktives Mitglied
Hallo,
ich mache gerade das Spiele Tutorial von Quaxli weil ich das Spiel irgendwie lustig fand und das einfach mal schreiben wollte um noch viele Sachen zu lernen.
Bin gerade bei Seite 20 und nun sollte eigentlich ein Bild angezeigt werden.
Leider macht er dies bei mir nicht.. das Bild wird aber definitiv gefunden, weil wenn er es nicht finden würde dann würde ich Input == null oder so in der Exception erhalten.

Naja ich denke es hängt eher damit zusammen das meine FPS die ich ja am oberen rechten Bildschirmrand 0 ist... ?!
Wieso ?

Ich schreibe einfach mal den Code der bisher 4 Klassen hierrein, auch wenn man den aus dem Tutorial entnehmen kann... vielleicht habe ich ja doch irgendein kleinen Schreibfehler drin....

Vielen Dank!

GamePanel:
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.ListIterator;
import java.util.Vector;

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



public class GamePanel extends JPanel implements Runnable {
	private static final long serialVersionUID = 1L;
	JFrame f;
	long delta; //Zeit des letzten Durchgangs
	long fps;   //Bildrate
	long last;  //letzte Systemzeit
	
	Sprite heroObject;
	Vector <Sprite> actors;
	Vector <Sprite> painter;
	
	public static void main(String[] args) {
		new GamePanel(800,600);
	}
	
	public GamePanel(int w, int h) {
		this.setPreferredSize(new Dimension(w,h));
		f = new JFrame("JEscape");
		f.setLocation(100,100);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.add(this);
		f.pack();
		f.setVisible(true);
		
		doInitializations();
		
		Thread th = new Thread(); //Spielschleife in eigenem Thread
		th.start();
	}
	
	private void doInitializations() { //Methode für "einmalige Aktionen" - Laden von Images etc..
		last = System.nanoTime();
		
		BufferedImage[] hero = loadPics("pics/hero.gif",4);
		
		actors = new Vector<Sprite> ();
		painter = new Vector<Sprite> ();
		heroObject = new Sprite(hero,400,300,100,this);
		actors.add(heroObject);
	}
	
	private void computeDelta() { //Errechnung des Schleifendurchlaufes
		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(painter!=null) {
			for(ListIterator<Sprite> it = painter.listIterator();it.hasNext();) {
				Sprite r = it.next();
				r.drawObjects(g);
			}
		}
	}
	
	
	
	private void checkKeys() {
		
	}
	
	private void doLogic() {
		for(ListIterator<Sprite> it = actors.listIterator(); it.hasNext();) {
			Sprite r = it.next();
			r.doLogic(delta);
		}
	}
	
	private void moveObjects() {
		for(ListIterator<Sprite> it = actors.listIterator(); it.hasNext();) {
			Sprite r = it.next();
			r.move(delta);
		}
	}
	
	
	@Override
	public void run() {
		while(f.isVisible()) {
			computeDelta(); 
			
			checkKeys();
			doLogic();
			moveObjects();
			cloneVectors();
			
			repaint();
			
			try {
				Thread.sleep(10);
			} catch(InterruptedException e) {}
		}
		
	}
	@SuppressWarnings("unchecked")
	private void cloneVectors() {
		painter = (Vector<Sprite>) actors.clone();
	}
	
     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;
	}

}

Drawable:
Java:
import java.awt.Graphics;


public interface Drawable {
	
	public void drawObjects(Graphics g);

}

Movable:
Java:
public interface Movable {

	public void doLogic(long delta); //Kollisionserkennung
	public void move(long delta);//Bewegung
}


Sprite:
Java:
import java.awt.Graphics;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;


public class Sprite extends Rectangle2D.Double implements Drawable, Movable {
	
	private static final long serialVersionUID = 1L;
	long delay; //Umschalten der einzelnen Bilder
	long animation = 0;
	GamePanel parent;
	BufferedImage[] pics; //Speichern der Einzelbilder für die Animation
	int currentPic = 0;
	
	protected double dx; //horizontale Veränderung
	protected double dy; //vertikale Veränderung
	
	
	public Sprite(BufferedImage[] i, double x, double y, long delay, GamePanel p) {
		pics = i;
		this.x = x;
		this.y = y;
		this.delay = delay;
		this.width = pics[0].getWidth();
		this.height = pics[0].getHeight();
		parent = p;
	}
	
	
	
	public void drawObjects(Graphics g) {
		g.drawImage(pics[currentPic], (int) x, (int) y,null);
	}
	
	private void computeAnimation() {
		currentPic++;
		
		if(currentPic > pics.length) {
			currentPic = 0;
		}
	}
	
	public void doLogic(long delta) {
		animation += (delta/1000000);
		if(animation > delay) {
			animation = 0;
			computeAnimation();
		}
	}
	
	public void move(long delta) {
		if(dx != 0) {
			x += dx*(delta/1e9);
		}
		
		if(dy != 0) {
			y += dy*(delta/1e9);
		}
	}
	
	public double getHorizontalSpeed() {
		return dx;
	}
	
	public void setHorizontalSpeed(double dx) {
		this.dx = dx;
	}
	
	public double getVerticalSpeed() {
		return dy;
	}
	
	public void setVerticalSpeed(double dy) {
		this.dy = dy;
	}

}

EDIT:
Falls es hilft: ich habe einen iMac also sollte er die Grafikleistung eigentlich packen, außerdem kann es somit auch nicht an Treibern liegen.
Das fertige Tutorial von Quaxli läuft außerdem auf meinem Mac das heißt es kann nur ein Problem mit meinem Programm geben.
Auf Windows habe ich es auch schon getestet dort ist FPS ebenfalls 0.
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Steht das aus dem GamePanel, Zeile 127, wirklich so im Tutorial? :autsch: Mach da mal ein
Java:
        try {
            source = ImageIO.read(pic_url);
        } catch(IOException e) {
            System.out.println("------------------ Ahrg....");
            e.printStackTrace();
        }
rein

EDIT: Ja, hat vielleicht nicht direkt mit deinem Problem zu tun, aber vielleicht indirekt... leere catch-Blöcke sind :autsch:
 

Ruderer1993

Aktives Mitglied
ja steht wirklich so im Tutorial aber ich denke mal die catch Blöcke werden nachher aufgefüllt ?! keine Ahnung also bis Seite 20 aufjeden Fall nicht ;)
Habe mal mitgeloogt also ne println in den catch Block geschrieben, jene wird aber nicht ausgeführt, also das Bild erkennt er wohl.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
IamArctic Quaxli Tutorial, Rotorblätter bewegen sich nicht mehr Java Basics - Anfänger-Themen 4
K java.util.ConcurrentModificationException problem in der Logik? Quaxli-Tutorial Java Basics - Anfänger-Themen 9
R Nochmal Quaxli Spieletutorial ;) Java Basics - Anfänger-Themen 9
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
nonickatall Erste Schritte Events Dokumentation/Tutorial Java Basics - Anfänger-Themen 1
S Suche aktuelles 2D Grafik Tutorial Java Basics - Anfänger-Themen 5
T Gesucht: Tutorial im Anschluß an Gailer-net bzw. Bradley Kjell Java Basics - Anfänger-Themen 0
M Java Anfänger - Video Tutorial Reihe (DEUTSCH) Java Basics - Anfänger-Themen 11
K Gutes Java 3D Game Tutorial gesucht Java Basics - Anfänger-Themen 6
P Java anfänger tutorial gesucht Java Basics - Anfänger-Themen 12
Z Problem mit Tutorial - Finde Kon.java nicht Java Basics - Anfänger-Themen 11
S Probleme mit Java 3D Tutorial (Applet) Java Basics - Anfänger-Themen 7
D Tutorial Java Basics - Anfänger-Themen 10
C [Sammelthread] Fragen zu Quaxlis Tutorial Teil 1 Java Basics - Anfänger-Themen 8
C Problem bei Quaxlis Tutorial(Nachtrag Teil1) Java Basics - Anfänger-Themen 9
K Tutorial durch - und dann? Java Basics - Anfänger-Themen 5
8 Tutorial - Java Java Basics - Anfänger-Themen 2
A Suche Java Tutorial (open e-book ö.ä.) Java Basics - Anfänger-Themen 3
C Generic Tutorial Java Basics - Anfänger-Themen 12
P Suche Tutorial für H2 Java Basics - Anfänger-Themen 15
T Java Tutorial auf deutsch Java Basics - Anfänger-Themen 1
N Tutorial Debugger Java Basics - Anfänger-Themen 2
B [Javadoc] Tutorial für die Auswertung des docs Java Basics - Anfänger-Themen 15
S Java Anfänger - Tutorial Frage Java Basics - Anfänger-Themen 10
Hindi93 Hilfe bei Tutorial Java Basics - Anfänger-Themen 10
N Hibernate "Hello World" Tutorial gesucht Java Basics - Anfänger-Themen 9
neurox Tutorial equals und hashCode überschreiben Java Basics - Anfänger-Themen 33
D Java Tutorial zur Netzwerk / Datenbankprogrammierung gesucht Java Basics - Anfänger-Themen 2
D Suche gutes Buch oder Tutorial Java Basics - Anfänger-Themen 3
S JNA Mapping Tutorial Java Basics - Anfänger-Themen 3
G POI/HSSF tutorial Java Basics - Anfänger-Themen 25
G hibernate . tutorial prob . Java Basics - Anfänger-Themen 4
G Tomcat Tutorial. Java Basics - Anfänger-Themen 8
G TrayIcon für JSF-Applikation -> Tutorial gesucht Java Basics - Anfänger-Themen 4
G Zugriff auf Webservice -> Tutorial gesucht Java Basics - Anfänger-Themen 2
G jfreechart einbinden + tutorial Java Basics - Anfänger-Themen 2
G J2EE Tutorial . komme nicht weiter Java Basics - Anfänger-Themen 7
K Kennt jemand ein gutes Tutorial für Wertübergabe? Java Basics - Anfänger-Themen 4
A Tutorial Java Servlets Java Basics - Anfänger-Themen 3
G gutes Tutorial rund um WAR-Dateien Java Basics - Anfänger-Themen 4
A Tutorial zur Datenbankanbindung gesucht Java Basics - Anfänger-Themen 2
A Java Applikation Tutorial? Java Basics - Anfänger-Themen 4
G suche tutorial für eclipse pluging javaeditor entwicklung Java Basics - Anfänger-Themen 7
G hibernate tutorial Java Basics - Anfänger-Themen 3
M ClearCase Tutorial bzw. Bücher Java Basics - Anfänger-Themen 4
S Suche Tutorial :) Nicht schlagen Java Basics - Anfänger-Themen 3
K gutes Tutorial? Java Basics - Anfänger-Themen 4
C jdbc Anfänger Tutorial gesucht Java Basics - Anfänger-Themen 19
G MySQL Tutorial Java Basics - Anfänger-Themen 2
M Problem mit Code aus JTable Tutorial Java Basics - Anfänger-Themen 11
R Anfänger-Tutorial Java + Eclipse Java Basics - Anfänger-Themen 4
A IO Programm aus Tutorial funktioniert nicht Java Basics - Anfänger-Themen 8
B Frage zum Tutorial "JTable - Teil 5 - Verändern von Dat Java Basics - Anfänger-Themen 6
J Swing Tutorial gesucht ! Java Basics - Anfänger-Themen 11
L Kompellierungsfehler RMI Tutorial Java Basics - Anfänger-Themen 7
G Tutorial zu MVC gesucht Java Basics - Anfänger-Themen 1
G suche ein tutorial um einen LOGIN einzurichten. Java Basics - Anfänger-Themen 5
K [servcer/Client] Suche Server /Client Tutorial. Java Basics - Anfänger-Themen 2
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
krgewb Bild itextpdf Java Basics - Anfänger-Themen 2
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
VPChief Bild in JEditorPane Java Basics - Anfänger-Themen 9
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
N Bild drehen Java Basics - Anfänger-Themen 3
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
N GLOOP Bild nicht ansichtbar Java Basics - Anfänger-Themen 5
M Bild in JFrame Java Basics - Anfänger-Themen 1
B Signatur erstellen - Bild ist nur weiß Java Basics - Anfänger-Themen 0
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 17
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 1
Anica Processing Animation Bild-Position ändern Java Basics - Anfänger-Themen 9
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
S Bild über JButton legen Java Basics - Anfänger-Themen 3
B Bild mit Schrift befüllen / Anpassung bei Wortlänge Java Basics - Anfänger-Themen 2
D Google maps bild mit marker versehen Java Basics - Anfänger-Themen 12
D ImageView mit einfarbigem Bild fuellen Java Basics - Anfänger-Themen 3
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
J Bild in Button einsetzen Java Basics - Anfänger-Themen 6
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
B Greenscreen (grüner Hintergrund ersetzen mit Bild) Java Basics - Anfänger-Themen 49
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
S Bild in Jar-File mit ImageIO Java Basics - Anfänger-Themen 50

Ähnliche Java Themen

Neue Themen


Oben