De Loader Class wordt gebruikt om afbeeldingen (jpg, png, gifs) of swf’s tijdens het afspelen van het programma te laden. Ze staan dus niet in de Library en worden bij het publishen niet automatisch geladen. Dit gebeurt pas als een Loader instantie met de methode load() de opdracht geeft om een bepaalde afbeelding of swf te laden. Het voordeel hiervan is dat de afbeelding niet direct wordt geladen maar pas als het nodig is en dat scheelt laadtijd. Loader Class en de URLRequest
Nog een voordeel is dat niet steeds als er een afbeelding vervangen moet worden hiervoor de fla moeten worden aangepast en een nieuwe swf moet worden gemaakt. Er kan bijvoorbeeld ook een lijst met afbeeldingen dynamisch in Flash worden geladen m.b.v. een extern bestand, bijvoorbeeld een XML bestand.
Een instantie van de Loader Class wordt op de gebruikelijke wijze gemaakt (met de operator new). Wij gaan dit echter waarschijnlijk niet toepassen. Neemt niet weg dat het handig is te weten! Op de laatste 2 slides staan linkjes naar fla’s om te bekijken en/of tegebruiken.
Syntax var fotoLader:Loader = new Loader(); methode load() Hiermee wordt de load operatie gestart.
loader.load(url) parameter url is de locatie van de afbeelding en van het datatype URLRequest Syntax
De methode load() accepteert alleen variabelen van het datatype URLRequest dus niet van het datatype String. Er moet dus eerst een instantie worden gemaakt van de URLRequest Class.
var verzoek:URLRequest = new URLRequest(); Alleen de eigenschap url van de URLRequest Class is van belang. Deze accepteert wel een parameter van datatype String. verzoek.url = “adres van de afbeelding”; Je kunt ook bij het instantiëren van het URLRequest object de url (adres van de foto) meegeven: var verzoek:URLRequest= new URLRequest(“adres v/d afbeelding”); Syntax
Een voorbeeld waarin een afbeelding wordt geladen met de methode load(). De afbeelding bevindt zich in dezelfde folder als de fla/swf. De url is dan gelijk aan de naam van de afbeelding:
Aangezien de Loader Class ook een DisplayObject is kan de Loader instantie, fotoLader, geplaatst worden op de MainTimeLine. Dit gebeurt m.b.v. de addChild() methode van deze MainTimeLine (regel 5).
De Loader Class heeft een eigenschap contentLoaderInfo, deze eigenschap is van het datatype LoaderInfo, de naam zegt het al, het geeft informatie over de load operatie. Om deze informatie tijdens het laden van een afbeelding of swf te ontvangen moet er een functie worden gedefinieerd. Vervolgens moet deze functie worden geregistreerd met de addEventListener() methode van de LoaderInfo Class. Load Info
Handige bestandjes om te bekijken of te gebruiken:
Tot slot het script voor een panoramapanorama