Artikel mit Schlagwort ‘ AS3’

Kleine Helfer – große Wirkung

Veröffentlicht in Programmierung, Umsetzung am 18. Juni 2010 von Schreibe den ersten Kommentar

Die Entwicklung und vor Allem das Programmieren unserer Multitouch-Anwendung schreitet unweigerlich voran. Zwar gibt es immer wieder Rückschläge und Herausforderungen aber irgendwie geht’s immer. Neben dem $1Recognizer und Box2D haben wir inzwischen einige andere AS3-Klassen eingebunden, die maßgeblich zu unserer Anwendung beitragen.

Animationen mit GreenSock

GreenSock Logo

GreenSock Logo

GreenSock ist eine Sammlung von Klassen um schnell und einfach Objekte per ActionScript zu animieren. GreenSock TweenMax bietet z.B. Effekte wie Ein/Ausblenden, Animieren, Drehen, Skalieren, etc. Die Bibliothek ist verlässlich, einfach zu nutzen und wird von einer aktiven Community ständig weiter entwickelt.

.

Schieberegler mit SliderUI

Die SliderUI von Matt Przybylski ist eine Klasse um Schieberegler (Slider) in Flash zu generieren. Somit können recht schnell eigene Slider gebastelt werden, ohne auf die vorgefertigten Komponenten von Flash zurückgreifen zu müssen. SliderUI bietet u.A. Methoden um die Position des Schiebereglers auf der Skala zu bestimmen oder Start- und Endwerte festzulegen.
Komplett “Out-of-the-Box” konnte die Klasse allerdings nicht verwendet werden, weil sie für die Verwendung mit einer Maus entwickelt wurde. Es waren noch einige kleine Anpassungen an unser Multitouch-Framework GestureWorks nötig.

Update: Es gibt die Schieberegler-Klasse auch in der Version SliderUI v1.5. Die neue Version beinhaltet u.A. ein Flash-CustomEvent, was z.B. bei unserer Anwendung zum Einsatz kommt. Mit einem CustomEvent lässt sich in Flash die Kommunikation zwischen unabhängigen Objekten realisieren.

Performance-Überwachung mit SWF Profiler

SWF Profiler Screenshot

SWF Profiler Screenshot

Ein Thema plagt uns leider immer noch: Die Performance unserer Anwendung. Leider sind die  Berechnungen und Kollisions-Erkennungen von Box2D sehr rechen-intensiv. Hinzu kommen eine Full-HD-Auflösung (1920×1080), zahlreiche grafische Elemente, zahlreiche externe Klassen und viele interne Funktionen. Das Alles macht die Physik-Lernsoftware mit jedem gezeichneten Element spürbar langsamer. Da unser Konzept aber eigentlich nur zwei Elemente (Kugel und Schiefe Ebene) vorsieht, werden wir uns nicht ausgiebig mit dem Thema Performance-Optimierung kümmern.
Ein Tool zum Überwachen der Performance von Flash haben wir dennoch eingebaut. Der SWF Profiler lässt sich einfach in bestehende Projekte integrieren und zeigt z.B. die aktuelle Frame-Rate, sowie die Arbeitsspeicher-Nutzung an.

Physics Engine für Flash: Box2D

Veröffentlicht in Programmierung, Umsetzung am 17. Mai 2010 von Schreibe den ersten Kommentar
Box2D Screenshot

Box2D Screenshot

Da es sich bei unserer MT-Anwendung im Grunde um eine Physik-Simulation handelt, brauchen wir natürlich auch eine Physics Engine. Dieses Antriebssystem (“Engine”) ist eigentlich sogar das Herzstück unserer Andwendung, weil es alle physikalischen Simulationen und Berechnungen übernimmt. Wir haben uns in den letzten Tagen mit Box2D beschäftig. Das ist eine weit verbreiteten Physics Engine von Erin Catto, die hauptsächlich für Computerspiele eingesetzt wird. Ursprünglich in C++ entwickelt gibt es inzwischen zahlreiche Übertragungen z.B. Box2D FlashAS3. Leider gibt es für Box2D nur eine rudimentäre Dokumentation und nur wenige (gute und vollständige) Tutorials. Die Physics Engine ist auch nicht gerade selbsterklärend und hat einige Eigenarten aus der C++-Welt. Die neueste Version 2.1a scheint noch einige Probleme zu haben, weswegen wir uns für die etwas ältere V2.0.2 entschieden haben. Für diese Version lassen sich auch mehr Tutorials finden. Folgende Ressourcen waren für uns bis jetzt hilfreich:

Und hier unser kleiner “Hallo Box2D-Welt”-Prototyp, ganz im Zeichen der Fußball WM. Die Bälle lassen sich mit der Maus umher “werfen” bzw. k(l)icken ;-)

(Leider ist die Online-Version ein wenig fehlerhaft aber wir arbeiten dran … )