title image


Smiley Re: hitTest mit unregelmässigen Objekten
Das folgende Flash5-Beispiel für einen HitTest, der hier in einem Rennspiel eingesetzt wurde, setzt sich aus folgenden, teils überarbeiteten Features zusammen:



- Fahrzeug-Engine + Porsche-Grafik von Flashstar.de

- HitTest für in Flash erstellte Vektorgrafiken bzw. geteilte Grafiken(z.B. *.bmp, *.jpg) von Flash MX's Samples

Hier findest du mein Rennspiel-Hittest aus meinem GrandTheftAuto-Clone, an welchem ich derzeit arbeite!

HitTest-Erläuterung



Auf der Suche nach diesem HitTest habe ich andauernd nur HitTests für Rechtecke gefunden >:<, ihr kennt das ja :).



Der HitTest funktioniert kurzgesagt wie folgt:





1. Der HitTest findet Anwendung jeweils als Bedingungen

für meine HitTests



Dieser HitTest erfasst durch getBounds() die äußeren

Punkte des Vehicels und nicht nur das Zentrum als

HitBereich.



2. Ist der HitTest an irgendeiner Stelle true/wahr

bzw. kommt es zu einem Zusammenstoß, dann wird die

aktuelle Position (x- + y-Koordinate) des Fahrzeugs

mit getProperty() ermittelt und dazu (x+y) 3 Pixel

hinzugerechnet bzw. abgezogen, wenn das Fahrzeug mit

der hinteren Seite die Begrenzung berührt.

-> Das Fahrzeug wird bei jeder Berührung jeweils

3 Einheiten sozusagen "weg-/abgestoßen".



Hier ist der Code für den HitTest



//HitTest



if (_root.strecke1.bereich.hitTest(getBounds(_root).xMax, _y, true))

{

_root.auto._x=getProperty(_root.auto,_x)+3;

}

if (_root.strecke1.bereich.hitTest(getBounds(_root).xMin, _y, true))

{

_root.auto._x=getProperty(_root.auto,_x)-3;

}

if (_root.strecke1.bereich.hitTest(_x, getBounds(_root).yMax, true))

{

_root.auto._y=getProperty(_root.auto,_y)+3;

}

if (_root.strecke1.bereich.hitTest(_x, getBounds(_root).yMin, true))

{

_root.auto._y=getProperty(_root.auto,_y)-3;

}



    Viel Spaß!!!

aktuelle Winamp Playlist                Hörgewohnheiten (Last.fm)



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: