2D Spiel - Level einlesen - Problem mit paint

Status
Nicht offen für weitere Antworten.

raven

Bekanntes Mitglied
Hallo,

Ich versuche mich zur Zeit an ein 2D Spiel in dem man Levels aus Text-Dateien einließt. Das Funktioniert ja auch soweit, Da die Variablen die ich zum zeichnen brauche erfolgreich aus der Text-Datei ausgelesen wurden.
Nun rätsel ich schon die ganze Zeit lang wie ich diese Fehlermeldung beseitigen kann:

Code:
Main.java:44: cannot find symbol
symbol  : method paint(java.awt.Graphics2D)
location: class java.lang.Object
                        objects.get(i).paint(g2D);

Ich weiß ungefähr was der Grund für diese Fehlermeldung sein kann. Ich nehme an Ich erzeuge die Klasse "Ground" an der falschen stelle so das (siehe oben) meine paintComponent nicht die paint Methode der Klasse "Ground" aufrufen kann. Aber ich wüßte nicht an welcher anderen Stelle ich das machen sollte.

Ich stell einfach mal mein bis jetzt geschriebenen Code rein. Ich hoffe ihr könnt mir helfen. Bin echt verzweiflt!

Das ist meine Main-Class
Code:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import java.util.*;

public class Main extends JPanel {

	private Image image;

	public Vector objects = new Vector();

	public Main() {
		Map map = new Map(this, "./level/testLevel01.txt");
	}

	public static void main(String[] arguments) {
		JFrame frame = new JFrame("TestSpiel");
		Main main = new Main();
		
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();  
		frame.setSize(800, 600);      
		frame.setLocation((screen.width-frame.getSize().width)/2,
			(screen.height-frame.getSize().height)/2);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().add(main);
		frame.setVisible(true);
	}

	public void addObject(int xPosObject, int yPosObject, String imagePath) {
		image = Toolkit.getDefaultToolkit().getImage(imagePath);
		MediaTracker mt = new MediaTracker(this);
		mt.addImage(image, 0);
		try{
			mt.waitForID(0);
		} catch (InterruptedException e) {
			System.out.println("---ERROR---");
		}
		objects.addElement(new Ground(this, xPosObject, yPosObject, image));
	}

	public void paintComponent(Graphics g) {
		Graphics2D g2D = (Graphics2D)g;
		for(int i = 0; i < objects.size(); i++) {
			objects.get(i).paint(g2D);
		}
	}
}

Das ist die Kasse in der das Level eingelesen wird:
Code:
import java.io.*;
import java.awt.*;

public class Map {

	public Main main;

	private String imagePath = "";
	private int xPosObject;
	private int yPosObject;

	public Map(Main main, String mapPath) {
		try{
			FileReader level = new FileReader(mapPath);
			BufferedReader levelBuffer = new BufferedReader(level);

			int readPos = 0;
			String charSave = "";
			String imageSave = "";
			boolean readImage = false;
			boolean eof = false;

			while(!eof) {
				String line = levelBuffer.readLine();
				if(line == null) {
					eof = true;
				} else {
					for(int i = 0; i<line.length(); i++) {
						if(line.charAt(i) != ',') {
							if (line.charAt(i) != '"') {
								if (readImage == false) {
									charSave = charSave + line.charAt(i);
								}
								if (readImage == true) {
									if(line.charAt(i) != '"' &&
										line.charAt(i) != ';') {
										imageSave = imageSave + line.charAt(i);
									} else {
										imagePath = imageSave;
										imageSave = "";
										readImage = false;
										readPos = 0;
									}
								}
							} else {
								readImage = true;
							}
						} else {
							if(readPos == 0) {
								xPosObject = Integer.parseInt(charSave);
							}
							if(readPos == 1) {
								yPosObject = Integer.parseInt(charSave);
							}
							charSave = "";
							readPos++;
						}
					}
					main.addObject(xPosObject, yPosObject, imagePath);
				}
			}
			levelBuffer.close();
		} catch(IOException e) {
			System.out.println("--- ERROR ---");
		}
	}
}

Und das ist die Klasse "Ground". Die ganzen verschiedenen Objekte Ground speichere ich alle in ein Vector.
Code:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class Ground {
	
	public Main main;

	private Image image;
	private int xPosObject;
	private int yPosObject;

	public Ground(Main main, int xPosObject, int yPosObject, Image image) {
		this.main = main;
		this.xPosObject = xPosObject;
		this.yPosObject = yPosObject;
		this.image = image;
	}

	public void paint(Graphics2D g2D) {
		g2D.drawImage(image, xPosObject*25, yPosObject*25, main);
	}
}

Und hier wie die Text-Datei aussieht aus der ich mein Level aufbaue.
Code:
5,15,"./pics/ground01.gif";
6,15,"./pics/ground02.gif";
7,15,"./pics/ground02.gif";
8,15,"./pics/ground02.gif";
9,15,"./pics/ground02.gif";
10,15,"./pics/ground03.gif";
5,16,"./pics/ground04.gif";
6,16,"./pics/ground05.gif";
7,16,"./pics/ground05.gif";
8,16,"./pics/ground05.gif";
9,16,"./pics/ground05.gif";
10,16,"./pics/ground06.gif";
 

The_S

Top Contributor
paint wird grundsätzlich mit dem Konstruktor Graphics aufgerufen, nicht mit Graphics2D. Wenn du Graphics2D benötigst musst du anschließend casten

Code:
public void paint(Graphics g) {

   Graphics2D g2D = (Graphics2D)g;
   // rest vom Schützenfest
}
 

raven

Bekanntes Mitglied
jetzt Hab ich Graphics2D überall raus gemacht, Unbedingt brauchen tuh ich es ja noch nicht. aber an der Fehlermeldung hat sich nichts geändert. Ich kann ich aber errinern das ich das vorher auch immer so gemacht habe.
 

dieta

Top Contributor
Du musst das Object, das die get-Methode zurückliefert noch zu eine Ground-Objekt casten:

Code:
((Ground)objects.get(i)).paint(g);
 

Brainiac

Bekanntes Mitglied
X_Master hat gesagt.:
Code:
public Vector objects = new Vector();

Alternativ kannst du auch den Vector so definieren, geht aber erst seit 1.4 oder 1.5? (weiß grad net genau):

Code:
public Vector<Ground> objects = new Vector<Ground>();

Dann kannst Du dir den Cast sparen.

Gruß Brainiac
 

raven

Bekanntes Mitglied
Hat an dem Casten gelegen. Ich hatte das mit den casten auch schon probiert aber ich hatte das so:

Code:
Ground(Vecor...)

:?

Danke für eure hilfe, funktioniert alles.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
O Texas Hold'em Poker als Online-Spiel mit Freunden Spiele- und Multimedia-Programmierung 5
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Excess Spiel abzugeben Spiele- und Multimedia-Programmierung 1
I Superhelden - Spiel Spiele- und Multimedia-Programmierung 14
E Hauptmenü und Spiel ???? Spiele- und Multimedia-Programmierung 2
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
R Interaktives Spiel Spiele- und Multimedia-Programmierung 5
L Spiel im Editor testen Spiele- und Multimedia-Programmierung 4
Jackii dispatchUncaughtException in Quiz Spiel mit GUI Layout Spiele- und Multimedia-Programmierung 6
D Textbasiertes Spiel Spiele- und Multimedia-Programmierung 8
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
L BrickBreaker Spiel Spiele- und Multimedia-Programmierung 3
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
F Koordinieren und Essen von Snake - Spiel Spiele- und Multimedia-Programmierung 14
G Entity Verwaltung in einem 2D Spiel Spiele- und Multimedia-Programmierung 1
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
G Welten Generierung 2D Spiel Spiele- und Multimedia-Programmierung 4
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
N Problem mit 2D Spiel Spiele- und Multimedia-Programmierung 17
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
R Pong Spiel Problem Spiele- und Multimedia-Programmierung 1
L Coordinate Space JavaFX 2d Spiel Spiele- und Multimedia-Programmierung 0
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
K Spiel zum zuordnen von Dienstgraden und Dienstgradabzeichen Spiele- und Multimedia-Programmierung 5
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
T 2d-Spiel Licht Spiele- und Multimedia-Programmierung 5
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
T Spiel rendern Spiele- und Multimedia-Programmierung 2
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
B Fehlerhafte Mob Bewegungen in Tower Defense Spiel Spiele- und Multimedia-Programmierung 2
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
X Erklärung zu einem Tic Tac Toe Spiel Spiele- und Multimedia-Programmierung 1
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
I Textbasiertes Spiel - Umsetzungsfrage & Schleifen Problem Spiele- und Multimedia-Programmierung 26
M Kollisions abfrage bei 3D spiel? Spiele- und Multimedia-Programmierung 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
E GUI zum Spiel hinzufügen Spiele- und Multimedia-Programmierung 19
S 2D Spiel - Physics Spiele- und Multimedia-Programmierung 16
S 2D Spiel "Der Sprung" Spiele- und Multimedia-Programmierung 7
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
T Spiel Überprüfung Spiele- und Multimedia-Programmierung 3
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
W Spiel ist langsam/laggt Spiele- und Multimedia-Programmierung 18
J Ascii Spiel Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
O Vollständige Musik in Spiel einbauen (wav - Format) Spiele- und Multimedia-Programmierung 8
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
J Conways Spiel des Lebens nachprogrammiert Spiele- und Multimedia-Programmierung 1
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
J Lichtupdate in tile-basiertem Spiel Spiele- und Multimedia-Programmierung 4
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
N Spiel Menü error ! Spiele- und Multimedia-Programmierung 5
S Anfangsmenü mit Spiel verknüpfen Spiele- und Multimedia-Programmierung 16
S Spiel ruckelt trotz 50 fps Spiele- und Multimedia-Programmierung 16
D Spiel-Bilddaten auswerten Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
Devil0s Spiel laggt trotz 90 FPS (bei der Anzeige) Spiele- und Multimedia-Programmierung 9
N Webanwendung als eine Art Spiel Spiele- und Multimedia-Programmierung 8
L Korrekte Darstellung von Wasser in 2D Spiel Spiele- und Multimedia-Programmierung 4
F Ideen für spiel Spiele- und Multimedia-Programmierung 4
J wohin mit der Logik des Spiel Spiele- und Multimedia-Programmierung 2
R Experimente mit Quaxlis Spiel Spiele- und Multimedia-Programmierung 12
W Spiel-Grundlagen selbst austüfteln: Kollisionen? Spiele- und Multimedia-Programmierung 3
Kenan89 Java 2D Spiel Spiele- und Multimedia-Programmierung 39
M Automaten Spiel Spiele- und Multimedia-Programmierung 27
J Tic tac toe spiel Neustart Spiele- und Multimedia-Programmierung 5
S 2D Spiel im Vollbild langsamer als im Fenster Spiele- und Multimedia-Programmierung 11
A TicTacToe Spiel Spiele- und Multimedia-Programmierung 3
S Verbesserungvorschläge Spiel Z Spiele- und Multimedia-Programmierung 31
S Spiel abbrechen Spiele- und Multimedia-Programmierung 3
J Greenfoot "Little Crab" Spiel Erweiterungen Spiele- und Multimedia-Programmierung 6
P Spiel HUD erstellen Spiele- und Multimedia-Programmierung 6
E Spiel neustarten Spiele- und Multimedia-Programmierung 4
S Aufbau von Klassen für Spiel Spiele- und Multimedia-Programmierung 13
A Grundlagensuche für Spiel Spiele- und Multimedia-Programmierung 8
V Basisprinzipien Breakout-Spiel Spiele- und Multimedia-Programmierung 8
E Spiel startet nach exportieren nicht Spiele- und Multimedia-Programmierung 7
Gossi Erweiterung von Quaxlis Heli-Spiel Spiele- und Multimedia-Programmierung 16

Ähnliche Java Themen

Neue Themen


Oben