tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
347
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    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);
    }
     

  2. #2
    Avatar von matdacat
    matdacat matdacat ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    672
    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.
     

  3. #3
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    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.
     

  4. #4
    Avatar von matdacat
    matdacat matdacat ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    672
    Java bietet ja Methoden wie getBounds etc., damit lässt sich z.B. schon eine einfache Kollisionsabfrage bauen. Schau z.B. mal hier.
     

  5. #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ß Tom
     
    Java 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

  6. #6
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    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?
     

  7. #7
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    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
     

  8. #8
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Ja, aber dort ging es ja um Blöcke (also Rect's) und hier um Bilder.
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  2. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  3. Antworten: 0
    Letzter Beitrag: 06.10.04, 14:03
  4. Images in Java mitels Pixelgrabber
    Von oska im Forum Java
    Antworten: 2
    Letzter Beitrag: 15.10.03, 17:39
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29