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 />

Optimieren der Netzwerkinteraktion<br />

Mit <strong>die</strong>ser Technik wird eine Runtime Shared Library geladen, <strong>die</strong> <strong>die</strong> Bitmap den anderen SWF-Dateien zur<br />

Verfügung stellt. Die ApplicationDomain-Klasse speichert alle geladenen Klassendefinitionen und stellt sie zur<br />

Laufzeit über <strong>die</strong> getDefinition()-Methode zur Verfügung.<br />

Eine Runtime Shared Library kann auch <strong>die</strong> gesamte Codelogik enthalten. Die ganze Anwendung kann zur Laufzeit<br />

aktualisiert werden, ohne dass sie neu kompiliert werden muss. Der folgende Code lädt eine Runtime Shared Library<br />

und extrahiert zur Laufzeit <strong>die</strong> in der SWF-Datei enthaltene Definition. Diese Technik kann mit Schriftarten, Bitmaps,<br />

Sounds oder jeder ActionScript-Klasse verwendet werden:<br />

// Create a Loader object<br />

var loader:Loader = new Loader();<br />

// Listen to the Event.COMPLETE event<br />

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadingComplete );<br />

// Load the SWF file<br />

loader.load(new URLRequest("library.swf") );<br />

var classDefinition:String = "Logo";<br />

function loadingComplete(e:Event ):void<br />

{<br />

var objectLoaderInfo:LoaderInfo = LoaderInfo ( e.target );<br />

}<br />

// Get a reference to the loaded SWF file application domain<br />

var appDomain:ApplicationDomain = objectLoaderInfo.applicationDomain;<br />

// Check whether the definition is available<br />

if ( appDomain.hasDefinition(classDefinition) )<br />

{<br />

// Extract definition<br />

var importLogo:Class = Class ( appDomain.getDefinition(classDefinition) );<br />

// Instantiate logo<br />

var instanceLogo:BitmapData = new importLogo(0,0);<br />

// Add it to the display list<br />

addChild ( new Bitmap ( instanceLogo ) );<br />

} else trace ("The class definition " + classDefinition + " is not available.");<br />

Das Abrufen der Definition kann vereinfacht werden, indem <strong>die</strong> Klassendefinitionen in der Anwendungsdomäne der<br />

geladenen SWF-Datei geladen werden.<br />

Letzte Aktualisierung 9.5.2012<br />

84

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!