Leistungsoptimierung für die ADOBE FLASH-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
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