Ich versuche ein Air-Hockey-Spiel zu erstellen, in Flash mit AS3.Erkennen von Kollisionen in Flash ... oder eine bessere Methode
Im Moment benutze ich eine Enter-Frame-Funktion, um die Positionierung der 3 Objekte, 2 Paddel und eine Kugel zu überprüfen, dann prüft sie, ob sie in Kontakt sind, wenn sie es sind, löst sie eine Kollision aus Funktion.
Allerdings überprüft es jedes Mal, wenn der Rahmen geladen wird, und bei 25 fps ist das ziemlich viel und die App bleibt zurück.
Irgendwelche Ideen oder bessere Möglichkeiten, dies zu tun?
Vielen Dank im Voraus.
Wie ist der Rest Ihres Spiels aufgebaut? Haben Sie einen einzigen Renderzyklus? Sind die Spielsprites komplex oder haben sie ein einfaches Box/Circle-Zeichen? Wie berechnen Sie die Kollisionserkennung? Verwenden Sie die integrierten Funktionen oder machen Sie Ihre eigene Mathematik? – weltraumpirat
Im Moment sind die Sprites, sehr einfach, drei Kreise. Kollisionserkennung, habe ich selbst, es überprüft den Abstand zwischen den beiden Kreisen, sehen, wenn es gleich dem Radius der beiden Kreise ist. – S1syphus
Ich würde nicht denken, dass das Ausführen jedes Frames sehr teuer wäre, da es nur ein paar Objekte sind. Ich würde bei der Verwendung der Radiusberechnungen bleiben, aber in Bezug auf Optimierungen können Sie sicherstellen, dass Sie Ihre Vergleichslogik dort verlassen, wo es sinnvoll ist. IE) wenn die Geschwindigkeit aller Gegenstände 0 ist. Wenn der Puck auf der linken Hälfte ist, keine Notwendigkeit, das rechte Paddel zu überprüfen (wenn du an den Air Hockey Regeln bleibst!), Etc .. – gthmb