30.07.2012 Aufrufe

Leistungsoptimierung für die ADOBE FLASH-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

LEISTUNGSOPTIMIERUNG FÜR DIE <strong>FLASH</strong>-<strong>PLATTFORM</strong><br />

Leistung in ActionScript 3.0<br />

var container:Shape = new Shape();<br />

container.graphics.beginFill(0x442299);<br />

var coords:Vector. = Vector.([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]);<br />

container.graphics.moveTo ( coords[0], coords[1] );<br />

container.graphics.lineTo ( coords[2], coords[3] );<br />

container.graphics.lineTo ( coords[4], coords[5] );<br />

container.graphics.lineTo ( coords[6], coords[7] );<br />

container.graphics.lineTo ( coords[8], coords[9] );<br />

addChild( container );<br />

Der folgende Code wird schneller ausgeführt als das vorherige Beispiel, da weniger Codezeilen ausgeführt werden. Je<br />

komplexer der Pfad, desto höher <strong>die</strong> Leistungssteigerungen, <strong>die</strong> mit der drawPath()-Methode erzielt werden können:<br />

var container:Shape = new Shape();<br />

container.graphics.beginFill(0x442299);<br />

var commands:Vector. = Vector.([1,2,2,2,2]);<br />

var coords:Vector. = Vector.([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]);<br />

container.graphics.drawPath(commands, coords);<br />

addChild( container );<br />

Die drawGraphicsData()-Methode liefert vergleichbare Leistungssteigerungen.<br />

Ereigniserfassung und Bubbling<br />

Mithilfe von Ereigniserfassung und Bubbling lassen sich Ereignisprozeduren reduzieren.<br />

Seit dem Ereignismodell von ActionScript 3.0 stehen <strong>die</strong> Konzepte „Ereigniserfassung“ und „Ereignis-Bubbling“ zur<br />

Verfügung. Das Ereignis-Bubbling bietet <strong>die</strong> Möglichkeit, <strong>die</strong> Ausführungszeit des ActionScript-Codes zu optimieren.<br />

Sie können eine Ereignisprozedur <strong>für</strong> ein Objekt anstelle <strong>für</strong> mehrere Objekte registrieren, um <strong>die</strong> Leistung zu<br />

verbessern.<br />

Dies lässt sich anhand eines Spiels erläutern, in dem der Anwender so schnell wie möglich auf Äpfel klicken muss, um<br />

sie zu zerstören. Bei jedem Klicken auf einen Apfel wird <strong>die</strong>ser vom Bildschirm entfernt und der Anwender erhält<br />

Punkte. Zum Warten auf das von den einzelnen Äpfeln ausgelöste MouseEvent.CLICK-Ereignis mag der folgende<br />

Code geeignet erscheinen:<br />

Letzte Aktualisierung 9.5.2012<br />

39

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!