hitTest mehrerer MC's

Brothers

Mitglied
Guten Abend,

Ich arbeite gerade an einem Aufbau-Spiel in den man natürlich Gebäude bauen kann, man sollte die Gebäude nur nicht übereinander bauen können.

Meine Idee war das ich jedes Gebäude das schon gebaut ist mit dem Gebäude das ich gerade bauen will mit hitTest() abfrage, da ich nur immer einen Punkt abfragen kann setze ich die 4 eck-punkte und berechne nochmal 4 weitere Punkte die sich jeweils in der mitte der aussenkanten befinden(also zb. (oben-rechts + oben-links) / 2).


das sollte auch theoretisch funktionieren nur denke ich das es da eine andere, bessere, performance freundlichere möglichkeit gibt. hat jemand ne idee?
 

Jens B.

Erfahrenes Mitglied
Hallo Brothers,
bei einer solchen Art von Spielen wird der Boden meist in mehrere Tiles aufgeteilt, man hat dann ein recht großes Array als Spielfeld und kann so nicht nur leicht prüfen ob ein Platz besetzt ist, auch das Pathfinding wird einfacher.
Man teilt das Feld also in mehrere Quadrate ein, sagen wir ein Haus ist 3x3 Quadrate groß, dann werden diese 9 Quadrate als "besetzt" gespeichert.

untitled-3.jpg


Es gibt neben hitTest() auch hitTestObject(), welches automatisch die 4 Eckpunkte prüft. Außerdem kann man recht einfach einen kugelrunden hitTest selber basteln, was bei Gebäuden eventuell auch besser ist als die riesen Begrenzungsbox. Schau eventuell mal hier:
http://www.tutorialflash.de/flash-as3-kurs-teil-5-kollisionen-timer-textfelder/2/

Gruß
jens
 
Zuletzt bearbeitet:

Brothers

Mitglied
Danke erstmal für deine Bemühungen,

Aber denke das mit den Feldern wird zu dolle... 2400 x 1800 Pixel --> 240 x 180 Felder --> 43200 Variablen anlegen? Und dann kommt noch dazu das mein Raster diagonal verläuft...

Und hitTestObject() ist AS3 code... Leider, wobei das auch an seine grenzen stoßen würde wegen dem diagonalen Raster. Ich hätte vllt dazu schreiben sollen das ich AS2 benutze.


hab ne andere Möglichkeit gefunden:
http://www.nocircleno.com/experiments/bitmap_hittest/game_example.html

Quasi jedes Gebäude hat noch eine Bitmap im Hintergrund zu liegen die als Hitbox dient. ich check nur nicht durch, hab mehrmals versucht das Beispiel nachzubauen und steig einfach nicht hinter.

Ob mir wer nen ganz simples Beispiel schreiben kann für die Hittest-Abfrage in AS2 von 2 Bitmaps?

Ich verzweifle hier....
 

Neue Beiträge