ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
347
347
EMPFEHLEN
-
10.06.08 23:06 #1
Abend. Wollte mal versuchen ein kleines Raumschiffballerspiel zu schreiben. Bin über den PixelGrabber gestoßen und wollte ihm zum erkennen von Kollisionen verwenden. Der Munition habe ich ein relativ dunkles Rot verpasst was ich nirgends sonst verwenden werde um sicher zu stellen das immer nur die Kugeln des Raumschiffes erkannt werden.
Nur leider steht in red, green und blue immer nur 0. Kann mir bitte wer sagen warum?
Code :1 2 3 4 5 6 7 8 9
public void move() { this.ypos++; grabber = new PixelGrabber(this.image, this.ypos + 1, this.xpos, 2, 2, this.pixel, 1, 3); this.red = (this.pixel[0] >> 16) & 0xFF; this.green = (this.pixel[0] >> 8) & 0xFF; this.blue = (this.pixel[0]) & 0xFF; System.out.println(this.red + " " + this.green + " " + this.blue); }
-
Ganz auf die Schnelle: der Aufruf von grabPixels() fehlt (siehe API). Das ständige Grabben ist aber vermutlich zu aufwändig für eine Kollisionsabfrage.
-
11.06.08 11:36 #3
Ups, ich habe mich schon gefragt warum Eclipse mich nicht aufgefordert hat ein Try zu setzen.
Aber ändert leider nichts. Gibt es vielleicht etwas besseres zur Kollisationserkennung? Soweit ich gesehen habe unterstützen Bilder keine Schnittmengen.
-
Java bietet ja Methoden wie getBounds etc., damit lässt sich z.B. schon eine einfache Kollisionsabfrage bauen. Schau z.B. mal hier.
-
11.06.08 12:57 #5
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
Kollisionsabfrage über Pixelwerte zu machen ist IMHO keine gute Idee...
Normalerweise nimmt man dafür ein Boxing Model (Bounding Boxes) in dem man um seine Objekte künstliche Hüllen (hier Rechtecke) legt und schaut ob diese sich überschneiden. Das ist natürlich etwas ungenau, reicht aber für die meisten Anwendungen aus. Für genauere Methoden schau mal hier:
http://en.wikipedia.org/wiki/Collision_detection
schau mal hier:
http://www.cokeandcode.com/node/6
http://www.tutorials.de/forum/java/2...t-java-2d.html
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
11.06.08 18:07 #6
Danke.
Ich bin auf der Suche nach getBounds über VirtualScreen gestoßen. Könnte man es damit auch machen, also zuerst mit getBounds die Positionen auslesen und dann intersecten?
-
Ich habe dir doch schon an deinem anderen Beispiel gezeigt wie man das realisieren kann:
http://www.tutorials.de/forum/java-g...g-bildern.html
-
11.06.08 23:26 #8
Ja, aber dort ging es ja um Blöcke (also Rect's) und hier um Bilder.
Ähnliche Themen
-
[IE7 Problem] Problem mit ul/li Höhen im IE7 bei Verwendung eines vertikalen Menüs
Von josDesign im Forum CSSAntworten: 0Letzter Beitrag: 11.01.11, 21:40 -
Problem: Flash MX (7.1) exportiert meine Fla nicht mehr - dringendes Problem
Von Lukasz im Forum Flash PlattformAntworten: 4Letzter Beitrag: 22.03.06, 20:50 -
Problem mit hover- background ändern & Problem bei Reload
Von ollioollio im Forum CSSAntworten: 0Letzter Beitrag: 06.10.04, 14:03 -
Images in Java mitels Pixelgrabber
Von oska im Forum JavaAntworten: 2Letzter Beitrag: 15.10.03, 17:39 -
Problem mit PopUp (Ja ich weiss Suche benutzten, hab ein ganz anderes Problem)
Von killkrog im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 13.06.02, 12:29





Zitieren


Login





