ActionScript 3.0/Externe-Bestanden: verschil tussen versies

k
geen bewerkingssamenvatting
(Comuniceren met een webserver aangemaakt.)
kGeen bewerkingssamenvatting
{{ActionScript 3.0}}
Het kan in sommige gevallen handig zijn om met '''externe bestanden''' te werken in plaats van alles in het .fla of .swf bestand bij te voegen.<br>
 
De voordelen hiervan zijn:<br>
* Je .sfw bestand wordt kleiner en is dus sneller te downloaden.
* Je hebt soms niet alle afbeeldingen of andere media nodig die worden bijgevoegd in het .swf bestand.
* Je kunt communiceren met serverscripts en zo ook met databases.
 
<br>
Je hebt hier alleen de [[actionscript 3.0/Klassen|klassen]] ''URLLoader'' en ''URLRequest'' voor nodig.
 
<br>
== Een aanvraag doen naar een bestand ==
Maak een simpel tekstbestand (.txt) aan met de volgende tekst:<br>
 
<sourcesyntaxhighlight lang="text">msg=Hello World!</sourcesyntaxhighlight>
 
En noem het bestand ''greeter.txt''<br>
Maak vervolgens een nieuw flashbestand aan (.fla) en selecteer bij het eerste frame actions(handelingen).<br>
Neem dan de volgende code over:
 
<sourcesyntaxhighlight lang="actionscript3">
//Eerst de benodige pakketten importeren.
import flash.net.URLRequest;
//Vervolgens laad je het bestand met .load(URLRequest):
loader.load(request);
</syntaxhighlight>
</source>
 
<br>
Nu heb je het bestand aangeroepen, maar voor het verwerken van de opgeroepen informatie heb je een [[ActionScript_3.0/Functies#EventListener|EventListener]] nodig.
 
<br>
<sourcesyntaxhighlight lang="actionscript3">
//Voeg een Eventlistener toe aan de Loader variabele
loader.addEventListener(event.COMPLETE, CompleteHandler);
//Output: msg=Hello World!
}
</syntaxhighlight>
</source>
 
<br>
De gegevens komen terug in de klasse ''String'' .<br>
Nu heb staat er in het bestand niet voor niets msg=Hello World! Typ je namelijk: ''trace(received.msg)'' dan wordt er alleen Hello World! weergeven. Je kunt zo ook meerdere variabelen doorgeven door deze te scheiden met een & teken.<br>
 
== Werken met afbeeldingen ==
Natuurlijk kun je deze techniek ook voor afbeeldingen gebruiken.<br>
De volgende bestandsindelingen worden ondersteund:
* Jpeg (.jpg, .jpeg etc.)
* PNG (.png)
* GIF (.gif) Zowel een geanimeerde filmclip als een enkele afbeelding wordt ondersteund
 
<br>
<sourcesyntaxhighlight lang="actionscript3">
import flash.display.DisplayObject();
//Maak eerst een object aan om het plaatje te tonen.
//Dit zal de afbeelding naar de stage toe laden.
}
</syntaxhighlight>
</source>
 
== Communiceren met een webserver ==
Hiervoor gebruik je precies dezelfde klassen als voor een normaal bestand.<br>
Maar het voordeel van een server is dat deze ook gebruikersinvoer kan verwerken. In dit voorbeeld maken we gebruik van een simpel [[PHP]] script.<br>
 
<sourcesyntaxhighlight lang="php">
<?php
//Bestandsnaam: communicatie.php
}
?>
</syntaxhighlight>
</source>
 
Merk hier op dat de ''echo'' statements een URL gecodeerde string uitvoeren, dit maakt het later uitlezen van een variabele gemakkelijker.<br>
Om een gegevens naar een server te zenden heb je nog een extra klasse nodig: ''URLVariables''.
 
<sourcesyntaxhighlight lang="actionscript3">
import flash.net.URL variables;
//Maak een nieuwe variabele aan voor de variabelen die je wilt versturen.
//OUTPUT: Hello World!
}
</syntaxhighlight>
</source>
 
{{sub}}
1.071

bewerkingen

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.