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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

Leistung in ActionScript 3.0<br />

const MAX_NUM:int = 10;<br />

var sceneWidth:int = stage.stageWidth;<br />

var sceneHeight:int = stage.stageHeight;<br />

var currentApple:InteractiveObject;<br />

var currentAppleClicked:InteractiveObject;<br />

for ( var i:int = 0; i< MAX_NUM; i++ )<br />

{<br />

currentApple = new Apple();<br />

currentApple.x = Math.random()*sceneWidth;<br />

currentApple.y = Math.random()*sceneHeight;<br />

addChild ( currentApple );<br />

}<br />

// Listen to the MouseEvent.CLICK event<br />

currentApple.addEventListener ( MouseEvent.CLICK, onAppleClick );<br />

function onAppleClick ( e:MouseEvent ):void<br />

{<br />

currentAppleClicked = e.currentTarget as InteractiveObject;<br />

currentAppleClicked.removeEventListener(MouseEvent.CLICK, onAppleClick );<br />

removeChild ( currentAppleClicked );<br />

}<br />

Der Code ruft <strong>die</strong> addEventListener()-Methode <strong>für</strong> jede Apple-Instanz auf. Außerdem entfernt er beim Klicken auf<br />

einen Apfel den zugehörigen Listener unter Verwendung der removeEventListener()-Methode. Das<br />

Ereignismodell in ActionScript 3.0 bietet jedoch eine Erfassungs- und Bubbling-Phase <strong>für</strong> einige Ereignisse, sodass Sie<br />

über ein übergeordnetes InteractiveObject auf <strong>die</strong>se Ereignisse warten können. Deshalb ist es möglich, den oben<br />

gezeigten Code zu optimieren und <strong>die</strong> Methoden addEventListener() und removeEventListener() weniger oft<br />

aufzurufen. Der folgende Code verwendet <strong>die</strong> Erfassungsphase, um auf <strong>die</strong> Ereignisse vom übergeordneten Objekt zu<br />

warten:<br />

Letzte Aktualisierung 9.5.2012<br />

40

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!