Ein Spielfeld zeichnen

Status
Nicht offen für weitere Antworten.

Bastard

Mitglied
Hallo allerseits,

ich möchte für ein Gesellschaftsspiel einen Spielfeld Generator erstellen.
Ich habe noch nicht soo die Erfahrung, will es aber mal alleine versuchen,
doch stellen sich mir Fragen die ich nicht so einfach beantworten kann,
deswegen frag ich einfach hier! :wink:

Ich möchte ein rechteckiges Rasterfeld (12 x 12) mit Bildern füllen,
welche das Spielfeld bilden.

Soll ich die Bilder nun als Image laden und in kleine JPanels verpacken,
oder wären Icons besser die ich in JLabels einbinde?
Was wäre hier am Sinnvollsten?

In jedem Fall soll es möglich sein,
über die einzelnen Felder noch etwas drüber zuzeichnen.
Da würde sich ja ein GIF anbieten (da das untere Feld durchscheinen soll).
Wie ich das realisieren kann weiß ich allerdings auch noch nicht.

vielen Dank schonmal.
Bastard
 

jagdfalke

Bekanntes Mitglied
Also wenn du was drüberzeichnen willst solltest du das ganze mit Graphics zeichnen. Also Bilder als BufferedImages lagen und per Graphics.drawImage() zeichnen lassen.

mfg
jagdfalke
 

Bastard

Mitglied
Hi,
also ich habe jetzt eine Klasse
Code:
MapField extends JPanel
erstellt, die in ihrer paint methode mittels drawImage ein Bild auf sich selbst zeichnet.
Die MapFields liegen in einem doppel Array und werden in einem GridLayoutManager (12, 12) gezeichnet.

Das klappt alles wunderbar, vielen Dank für den Tipp unten!


Per Listener fange ich Mouseklicks darauf ab, und möchte nun ein anderes Bild darüberzeichnen!
Wie soll ich das machen?

wenn ich im Array das MapField ändere und repaint aufrufe, passiert nichts.

Hier der Code:


Code:
//Teile des Konstruktors im Hauptframe.
JPanel mapPanel = new JPanel(); 
mapPanel.setLayout(new GridLayout(12, 12));
	
createMapRaster();

//initial filling of the map
for (int i = 0; i < mapRaster.length; i++) {
	for (int j = 0; j < mapRaster[i].length; j++) {
		mapPanel.add(mapRaster[i][j]);
	}
}
Code:
private void createMapRaster(){
	mapRaster= new MapField[12][12];
	for(int i=0; i<mapRaster.length; ++i){
		for (int j = 0; j < mapRaster[i].length; j++) {
			MapField l= new MapField(j,i, imgBlue, "blue");
			l.addMouseListener(new FieldListener(l, this));
			mapRaster[i][j]= l;
		}
	}
}

Code:
//wird vom FieldListener aufgerufen
public void drawField(MapField mf){
	int x= mf.getXPosition();
	int y= mf.getYPosition();
	MapField m= mapRaster[x][y];
	
	m= new MapField(x, y, imgRed, "red");
	mapRaster[x][y]= m;
	repaint();
}
 
B

Beni

Gast
Wenn du die Mapfehler erstmals dem "mapPanel" hinzugefügt hast, sind sie unabhängig vom Array. D.h. wenn du im Array was ersetzt, hat das keinen Einfluss auf das mapPanel.

Du kannst aber über den Array immernoch auf die Fields zugreiffen, welche auf dem Panel liegen. Und hier ist auch eine einfache Lösung versteckt: gib dem MapField die Möglichkeit das Bild auszuwechseln. Anstelle der Erstellung eines neuen MapFieldes, rufst du dann bei einem alten MapField die Methode auf, welche das Bild auswechselt.
 
G

Guest

Gast
hallo
wie kann man denn graphiken über andere legen ?
wenn man beispielsweise ein spielfeld hat auf dem figuren stehen sollen.
 
B

Beni

Gast
In einer paint-Methode mehr als einmal "g.drawImage" aufrufen :wink: Das letzte Image ist auch immer das oberste Image.
 

Bastard

Mitglied
@ Beni: super,
so funktioniert das Ganze, danke!

Noch eine Frage ... :roll:
Ein Kumpel von mir meinte es gäbe eine statische Methode, mit der man einfach Bilder aus einem Pfad laden kann.
Ist das korrekt?
Ich habe nichts dazu gefunden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H LayoutManager RPG Programmieren, eigenes Spielfeld grafisch generieren aus Tileset AWT, Swing, JavaFX & SWT 18
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
Viktim Array Spielfeld wird in GUI gedreht AWT, Swing, JavaFX & SWT 5
D Swing Spielfeld drehen von Pentago endet in einer Katastrophe AWT, Swing, JavaFX & SWT 2
P Spielfeld AWT, Swing, JavaFX & SWT 2
C Swing Info-Ebene überdeckt Spielfeld-Ebene komplett AWT, Swing, JavaFX & SWT 5
S Spielfeld mit unförmigen Objekten anklickbar machen? AWT, Swing, JavaFX & SWT 4
C Spielfeld Gitter - Einzelne Zellen verändern AWT, Swing, JavaFX & SWT 18
T Spielfeld erstellen AWT, Swing, JavaFX & SWT 15
J Ansicht wechseln zw. Spielfeld und Optionen AWT, Swing, JavaFX & SWT 3
C Spielfeld Editor AWT, Swing, JavaFX & SWT 4
Y Spielfeld mit paintComponent oder doch lieber anders? AWT, Swing, JavaFX & SWT 8
G Spielfeld für ein Spiel erstellen, wie am besten? AWT, Swing, JavaFX & SWT 4
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX Canvas neu zeichnen anstoßen AWT, Swing, JavaFX & SWT 34
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
S Event Handling Neu zeichnen nur wenn Berechnung fertig ist AWT, Swing, JavaFX & SWT 4
W JavaFX Ich kann keinen Kreis richtig zeichnen AWT, Swing, JavaFX & SWT 8
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
G Dreieck aus Pixeln zeichnen AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
Z Swing Graph zeichnen lassen AWT, Swing, JavaFX & SWT 16
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
L Swing zeichnen AWT, Swing, JavaFX & SWT 14
S GUI Kreuz zeichnen und Position ausgeben AWT, Swing, JavaFX & SWT 3
S GUI Kreis zeichnen AWT, Swing, JavaFX & SWT 13
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
L Swing Ein Rechteck in ein Grid Zeichnen AWT, Swing, JavaFX & SWT 5
L JavaFX Animation, erst zeichnen dann anzeigen AWT, Swing, JavaFX & SWT 4
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
E Transparent zeichnen AWT, Swing, JavaFX & SWT 2
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
T Tic Tac Toe - GUI Linien zeichnen AWT, Swing, JavaFX & SWT 14
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
Soloeco Graph zeichnen AWT, Swing, JavaFX & SWT 1
G Zeichnen Programm AWT, Swing, JavaFX & SWT 1
I Graph mit Swing zeichnen AWT, Swing, JavaFX & SWT 8
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
D Quadrat, Rechteck zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
A Swing JRadioButton zeichnen nicht AWT, Swing, JavaFX & SWT 4
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
S Parallele Linien zeichnen AWT, Swing, JavaFX & SWT 5
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
P AWT Canvas freihändig zeichnen AWT, Swing, JavaFX & SWT 1
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
L JavaFX JavafX Timelime zeichnen und schön stylen? AWT, Swing, JavaFX & SWT 2
I JFrame neu zeichnen, nicht überzeichnen! AWT, Swing, JavaFX & SWT 2
I Spielsteine zeichnen und entfernen AWT, Swing, JavaFX & SWT 3
H JavaFX Freezes beim Zeichnen mit Canvas AWT, Swing, JavaFX & SWT 3
H Swing BufferedImage zeichnen AWT, Swing, JavaFX & SWT 1
M JFreeChart neu zeichnen sich Wenn Jtable sich ändert AWT, Swing, JavaFX & SWT 5
S 2D-Grafik MouseDragged Linien zeichnen AWT, Swing, JavaFX & SWT 4
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
T Swing / Kreis zeichnen AWT, Swing, JavaFX & SWT 2
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
I Pfeil zeichnen am Ende einer Linie AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
F Zeichnen des Button AWT, Swing, JavaFX & SWT 4
B Zeichnen mit paintComponent? Oder anders? AWT, Swing, JavaFX & SWT 15
C Swing Aus verschiedenen Klassen zeichnen. AWT, Swing, JavaFX & SWT 2
C Swing BufferedImage zeichnen und JLabels setzen. AWT, Swing, JavaFX & SWT 17
M Kein Zeichnen der Figuren auf JPanel AWT, Swing, JavaFX & SWT 4
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S Quadrat auf Frame zeichnen AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
C Graphics Objekt in Zeitschleife zeichnen AWT, Swing, JavaFX & SWT 4
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
G Zeichnen auf eine schwergewichtige Komponente? AWT, Swing, JavaFX & SWT 0
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
P SWT Nebula Gallery - Bildbereiche zeichnen AWT, Swing, JavaFX & SWT 3
A Swing Paint mit Button Clear den Hintergrund säubern um wieder zeichnen zu können AWT, Swing, JavaFX & SWT 2
A 2D-Grafik Zeichnen einer sich bewegenden Box mit BufferStrategy zieht Spur AWT, Swing, JavaFX & SWT 2
T AWT Bild laden und transparent zeichnen AWT, Swing, JavaFX & SWT 2
Helgon Swing Mit Swing zeichnen / NetBeans GUI AWT, Swing, JavaFX & SWT 11
M JLabel über JButtons zeichnen AWT, Swing, JavaFX & SWT 4
J JApplet und Zeichnen AWT, Swing, JavaFX & SWT 8
P 2D-Grafik NPE beim Zeichnen auf Graphics g AWT, Swing, JavaFX & SWT 8
4 Swing Graphen selber zeichnen AWT, Swing, JavaFX & SWT 2
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
T Zeichnen von getSubimage funktioniert nicht AWT, Swing, JavaFX & SWT 7
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
N JPanel neu zeichnen AWT, Swing, JavaFX & SWT 10
D Zeichnen eines Barplots AWT, Swing, JavaFX & SWT 2
bluerob Problem beim Image zeichnen via andere Klasse AWT, Swing, JavaFX & SWT 7
M Swing JFrame in einem Panel zeichnen AWT, Swing, JavaFX & SWT 3
M Suche Javabibliothek zum Zeichnen mathematischer Funktionen AWT, Swing, JavaFX & SWT 11
M Swing Warum öffnen sich beim Zeichnen mit Swing plötzlich zwei Fenster? AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben