Winter 06| Tekstfile importeren

Leerdoelen

Variabelen importeren

Open een nieuw flash document en maak een movieclip met daarin een leeg textfield aan. De movieclip heb ik mcPipo genoemd, en het tekstveld, txtVoorbeeld. Daarna maak je een tekst document met de variabele daarin. Dit schrijf je als volgt:

importtekst=Hier kan dan een langverhaal

Importeer het tekstdocument in je flashdocument, met de volgende code in het eerste frame van de tijdlijn:

mcPipo.loadVariables("voorbeeld.txt"); 
mcPipo.onData = function() { 
	this.txtVoorbeeld.text = this.importtekst; 
} 

This binnen deze functie verwijst naar mcPipo. Binnen mcPipo wordt nu de data opgehaald. Door this te gebruiken hoef je de naam van de movieclip niet te herhalen.

In het tekstdocument haal je nu twee variabelen binnen; importtekst en mijnVar2. In dit voorbeeld is dit zodat je kunt zien hoe je dat doet. In principe is het mogelijk om een oneindige hoeveelheid variabelen achter elkaar te plaatsen. Dit doe je door steeds met een en teken er nieuwe variabelen aan toe te voegen. In je tekstdocument kan je ‘/n' toevoegen voor een enter. Dit ken je misschien wel uit php.

importtekst=Hier kan dan een langverhaal&mijnVar2=of met een en-teken kan je nog veel/n meer variabelen importeren  

 

HMTL opmaak

Naast gewone tekst is het ook mogelijk om html opgemaakt tekst te importen. Dit geeft wel iets vaker problemen. Je plaatst html tekst in je tekstveld:

importtekst=Hier kan dan een <b>langverhaal</b> met <i>allerlei</i> opmaak mogelijkheden. 

Vervolgens moet je ook in Flash het tekstveld geschikt maken voor html. Dit kan in de properties van het tekstveld met de button waar een haakje open en sluiten opstaat <>. Naast deze button aanpasssen, moet je ook in de code aangeven dat het om htmltekst gaat:

mcPipo.loadVariables("voorbeeld.txt"); 
mcPipo.onData = function() { 
	this.txtVoorbeeld.htmlText = this.importtekst; 
} 
	

 

Speciale Fonts

Een andere optie van een tekstveld is Embed.. Deze optie maakt het mogelijk ongebruikelijke fonts te gebruiken bij je dynamische tekstveld. Na een klik kun je een range aan karakters te selecteren om niet een heel font te selecteren. Je swf wordt namelijk behoorlijk groter van het toevoegen van een font. Dit komt dat alle font informatie wordt opgeslagen in je swf file.

 

Button

Je kunt ook de tekst pas na een druk op de knop laten zien. In dat geval werkt je script iets anders:

mcPipo.loadVariables("voorbeeld.txt"); 
btnPraatwolk.onRelease = function() {
  	mcPipo.onData = function() { 
		this.txtVoorbeeld.htmlText = this.importtekst; 
	}
 }; 

 

Functies

Je kunt alle code meteen laden als het filmpje start. Soms wil je echter dat de data pas geladen wordt nadat er bijvoorbeeld op een knop geklikt wordt. Hiervoor kan je een functie gebruiken. Een stukje code zet je appart in een functie en geef je een naam, waardoor het pas uitgevoerd mag worden nadat ergens de naam van dat stukje code wordt genoemd en de code wordt geactiveerd.

function mijnFuctie(){
	trace ("ik kom uit mijn functie")
}

trace ("ik sta gewoon in de code")

// en als je dan hier mijnfuctie aanroept 
// gaat hij hier de functie uitvoeren
mijnFuctie();

Dit betekent dat je in dit geval dus het laden van de tekstfile ook in een functie kunt plaatsen

function fTxtLoad() {
	mcPipo.loadVariables("voorbeeld.txt");
	mcPipo.onData = function() {
		this.txtVoorbeeld.text = this.importtekst;
	};
}
//-- button om de tekst op te halen
btnLoad.onRelease = function() {
	fTxtLoad();
};
Auteur: Roos Groenewegen
Seizoen: Winter
Lesnummer: 06
Datum: 08-01-2007
Type les: MME