Kollision von zwei ImageIcons

X

Xyz1

Gast
Für jede Komponente:
Java:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;

public class Windows1 {
	static boolean isCollapsing(JComponent jc1, BufferedImage b1) {
		return jc1.getWidth() < b1.getWidth() || jc1.getHeight() < b1.getHeight();
	}

	public static void main(String[] args) throws IOException {
		BufferedImage b = ImageIO.read(new File("..."));
		JFrame f = new JFrame();
		JLabel l = new JLabel(new ImageIcon(b));
		f.add(l);
		f.pack();
		f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		f.setVisible(true);

		new Timer().schedule(new TimerTask() {
			boolean on = true;
			@Override
			public void run() {
				if (on && isCollapsing(l, b)) {
					JOptionPane.showConfirmDialog(null, "");
					on = false;
				}
			}
		}, 0, 100);
	}
}
 

Nesselbrand

Bekanntes Mitglied
Schon mal Danke!!! Aber was genau machen diese Code abschnitte:
Code:
if (on && isCollapsing(l, b)) {
                    JOptionPane.showConfirmDialog(null, "");
                    on = false;
                }


Code:
    static boolean isCollapsing(JComponent jc1, BufferedImage b1) {
        return jc1.getWidth() < b1.getWidth() || jc1.getHeight() < b1.getHeight();
    }
Ich will den Code nähmlich verstehen befor ich ihn verwende.
Schonmal Danke im Vorraus!!
 

mihe7

Top Contributor
Es geht alles, wenn man genügend Informationen hat.

ImageIcon (und damit erst recht Icon) kennt nun mal keine Position. Ohne die wüsste ich nicht, wie man eine Kollision zweier ImageIcons definieren sollte.

Kennst Du aber die Positionen von zwei Icons, dann kannst Du auch sagen, ob diese kollidieren.

Beim Rechteck (java.awt.Rectangle) sieht das anders aus, denn dort sind alle notwendigen Informationen bereits gegeben.
 

Nesselbrand

Bekanntes Mitglied
die sache ist die ich füge ein Icon an eine bestimmte Koordinate ein und ich habe mehrere rechtecke (java.awt.Rectangle). das icon kann ich mit maustasten steuern und ich möchte nicht dass das icon über die rechtecke drübergehen kann
 

mihe7

Top Contributor
die sache ist die ich füge ein Icon an eine bestimmte Koordinate ein
Wenn Du dafür eine Komponente verwendest (z. B. JLabel), dann kennst Du die Position. Wenn Du keine Komponente verwendest, musst Du Dir die Position (bzw. gleich das Rechteck) halt merken. Und dann musst Du lediglich zwei Rechtecke auf Schnitt prüfen. Das funktioniert mit java.awt.Rectangle#intersects.
 

Nesselbrand

Bekanntes Mitglied
Code:
test = new Rectangle(Var.pacX + 20,Var.pacY + 20,20,20);
Wie kann ich dieses Rechteck dann zeichnen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S 3D-Kollision mit zwei ArrayLists Spiele- und Multimedia-Programmierung 7
B Kollision Spiele- und Multimedia-Programmierung 5
A Kollision funktioniert nicht richtig bei zu schneller Geschwindigkeit des Spielers Spiele- und Multimedia-Programmierung 0
D Kollision funktioniert unten aber nicht oben Spiele- und Multimedia-Programmierung 4
J Kollision (libgdx) Spiele- und Multimedia-Programmierung 2
S Kollision Spiele- und Multimedia-Programmierung 2
J Kollision genau erkennen mit intersects Spiele- und Multimedia-Programmierung 27
K a* kollision der einheiten Spiele- und Multimedia-Programmierung 3
S Probleme bei Breakout - Brick kollision Spiele- und Multimedia-Programmierung 2
F Rechteck Kollision Spiele- und Multimedia-Programmierung 10
H 2- D Kollision Spiele- und Multimedia-Programmierung 14
C Zeldaklon Problem mit Wand-Kollision Spiele- und Multimedia-Programmierung 8
O Kollision Polygon und Rechteck Spiele- und Multimedia-Programmierung 2
S Pacman Kollision von Münzen und Mauern Spiele- und Multimedia-Programmierung 11
P Gridpane Kollision Spiele- und Multimedia-Programmierung 3
Androbin Kollision zwischen Raster und Nicht-Raster Spiele- und Multimedia-Programmierung 2
L Kollision soll nur an oberer Seite (Breite) möglich sein Spiele- und Multimedia-Programmierung 6
Hercules Kisten Kollision Spiele- und Multimedia-Programmierung 2
T Pixelgenaue Kollision Spiele- und Multimedia-Programmierung 5
A LWJGL 3D Objekte Kollision Spiele- und Multimedia-Programmierung 3
S Kollision tile-based 2D Plattformer Spiele- und Multimedia-Programmierung 2
D Greenfoot Kollision Spiele- und Multimedia-Programmierung 5
D Kollision verhindern Spiele- und Multimedia-Programmierung 2
R Frage zur Kollision Spiele- und Multimedia-Programmierung 5
Maxim6394 [Java3D] Probleme bei Kollision Spiele- und Multimedia-Programmierung 7
Kr0e Kollision zweier Kugeln... Wo ist Newton ?? Spiele- und Multimedia-Programmierung 9
C Kollision zwischen 2 Kreisen Spiele- und Multimedia-Programmierung 3
Helgon Kollision von jeder Seite des Blocks Spiele- und Multimedia-Programmierung 3
Fab1 Kollision die 100ste Spiele- und Multimedia-Programmierung 5
D Jump'n'run Kollision bei Blöcken Spiele- und Multimedia-Programmierung 10
P PingPong Spiel - Kollision Spiele- und Multimedia-Programmierung 2
C Bitmaske und Kollision Spiele- und Multimedia-Programmierung 2
J Spielprogrammierung mit bewegung und kollision Spiele- und Multimedia-Programmierung 24
S Kollision Kreis Rechteck Spiele- und Multimedia-Programmierung 8
aze Java3D: Gegenstände aufeinander zubewegen ohne Kollision Spiele- und Multimedia-Programmierung 4
baddestpoet pixelgenaue Kollision Spiele- und Multimedia-Programmierung 4
S Kollision in 2D Spiele- und Multimedia-Programmierung 12
B Gedrehte Rechtecke Kollision Spiele- und Multimedia-Programmierung 4
J Kollision mit Block (Wand) Spiele- und Multimedia-Programmierung 11
C Kollision in Java3D Spiele- und Multimedia-Programmierung 4
J Kollision von Objekten Spiele- und Multimedia-Programmierung 7
M Asteroids Clone: Kollision zwischen Schuss und Feind Spiele- und Multimedia-Programmierung 13
F Bewegung/Kollision von Objekten auf Tastendruck Spiele- und Multimedia-Programmierung 6
Z Kollision Spiele- und Multimedia-Programmierung 3
F Kollision für Arkanoid Spiele- und Multimedia-Programmierung 2
N Kollision abfragen Spiele- und Multimedia-Programmierung 3
K Sprites / Kollision Spiele- und Multimedia-Programmierung 3
S Jump'n'Run: Probleme mit Kollision Spiele- und Multimedia-Programmierung 13
S intersect von zwei Rechtecken Spiele- und Multimedia-Programmierung 8
E Zwei Threads miteinander laufen lassen Spiele- und Multimedia-Programmierung 6
H zwei ints als key in map (ohne long) Spiele- und Multimedia-Programmierung 16
F Java zwei gleiche Threads mit unterschiedlichen Parametern Spiele- und Multimedia-Programmierung 2
P Sound auf zwei Lautsprechern getrennt abspielen Spiele- und Multimedia-Programmierung 9
B 1)JButtons zeichnen 2)Kolisionsabfrage von zwei Objekten Spiele- und Multimedia-Programmierung 9
V Winkel zwischen zwei Vektoren Spiele- und Multimedia-Programmierung 1
A Mit KeyListener zwei Tasten gleichzeitig abfragen Spiele- und Multimedia-Programmierung 2
D Zwei Fragen (Exponential Fog und Schein-nach-außen-Effekt) Spiele- und Multimedia-Programmierung 6
Redfrettchen Tastatur für zwei Spieler teilen? Spiele- und Multimedia-Programmierung 8
R Tic Tac Toe mit ImageIcons Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben