Een extern tekst bestand inladen in flash
blokje door vinTage op 31-01-2007
updated 4-2-2007

Een extern tekst bestand in flash laden.

Als je de tekst wilt veranderen in je flash file, dan kan je natuurlijk de fla weer openen en daarin de tekst veranderen.
Veel gemakkelijker zou zijn als je de tekst ook van buiten af kon veranderen.
Nou, dat kan dus heel erg gemakkelijk, in deze tutorial leg ik je uit hoe je dit kan doen.


Zo moet je tekst bestand eruit zien.
Zo halen we het tekstbestand in flash binnen.
Zo gebruiken we html in het flash bestand.




Het door flash in te laden tekst bestand

Om te beginnen heb je natuurlijk een tekst bestand nodig waar je verhaatje instaat, we gaan dus beginnen met een tekstfile te maken met de naam flashtekst

In dit text bestand typen we nu wat we in flash willen laden.
Stel je wilt het weerbericht tonen in flash, dan typ je
code

weerbericht=vandaag is het zonnig met hier en daar wat regen.&einde

Zoals je ziet heb ik in het begin weerbericht= gezet, dit is een variable en wat er na de = komt is de inhoud van die variable.
Op het laatst van de zin staat &einde, dit doe ik om aan te geven dat er een variable met einde is.
Dit komt zodadelijk aan bod in het flash gedeelte.



tekst in flash halen

Het inladen van een tekstbestand in flash kan op verschillende manieren.
De onderstaande code plaatsen we in een keyFrame in de main timeline:
actionscript code

//hierin gaan we de variabelen uit het externe tekstbestand opslaan
container = new LoadVars();

//het tekstbestand inladen in de container
container.load("flashtekst.txt");

/* een functie die we laten herhalen totdat "&einde" is ingeladen
einde is de laatste variable in ons tekstbestand */

function laden() {
  if (container.einde == undefined) {
   
    //het weerbericht is nog niet geladen
    bericht.text = "Het weerbericht word opgehaalt.";  
 
  } else {
   
    //zet de variable in een textvak genaamd "bericht"
    bericht.text = container.weerbericht;
   
    //de functie stoppen
    clearInterval(startLaden);
  }
}

/*
met setInterval kan je een functie aanroepen
de 2e parameter in de functie zijn millieseconden
dus met de functie hieronder word er om de 10 milliseconden een beroep
gedaan op de laadfunctie
*/

startLaden = setInterval(laden, 10);
 




Meerdere tekstvelden vullen met tekst uit één tekstbestand

Tot nu toe hadden we maar een bericht, namelijk het weerbericht, maar stel dat je het weerbericht voor Belgie EN nederland wilt tonen.
Als je dat allemaal in hetzelfde tekstvak wilt tonen zal dat nogal lastig te lezen zijn, dus we willen de beide weerberichten in aparte tekstvakken tonen.

In flash maken we nu dus 2 tekstvelden met de instancenamen belgie en nederland .
De actionscript code veranderen we naar (zonder uitleg nu )


actionscript code

container = new LoadVars();
container.load("flashtekst.txt");
function laden() {
  if (container.einde == undefined) {
    belgie.text = "Het weerbericht word opgehaalt.";
    nederland.text = "Het weerbericht word opgehaalt.";
  } else {
    belgie.text = container.belgie;
    nederland.text = container.nederland;
    clearInterval(startLaden);
  }
}
startLaden = setInterval(laden, 10);
 


In het tekstbestand zetten we nu:
code

belgie=In Brussel is het mooi weer.
&nederland=In Amsterdam hangt veel smog.
&einde

Zoals je ziet begint een nieuwe variable met een &
Zo kan je een lange lijst maken met daarin veel verschillende variabelen, het probleem is dat je zin word afgebroken zodra je een & in je zin gebruikt.
Dit is op te lossen door in je flashtekst geen & te gebruiken als je wilt dat je een & ziet, in plaats daarvan gebruik je %26

voorbeeldje
code

belgie=In Brussel is het mooi weer.
&nederland=In Amsterdam hangt veel smog %26 je mag 3 keer raden hoe die smog daar 
komt...(okay flauw)
&einde


Flash voorbeeld
Download de gratis flash plugin
Normaal zou hier dit voorbeeld moeten staan.





html gebruiken in je tekst (vakken)

Flash heeft ook de mogelijkheid om simpele html tags te gebruiken zoals oa hyperlinks, bold, underlined en images.

Om deze html functies te kunnen gebruiken, moeten we onze tekstvelden html enabelen en de tekst uiteindelijk tonen in instancenaam.htmlText in plaats van instancenaam.text

actionscript code

belgie.html = true; //html enabelen
nederland.html = true; //html enabelen

container = new LoadVars();
container.load("flashtekst.txt");
function laden() {
  if (container.einde == undefined) {
    belgie.text = "Het weerbericht word opgehaalt.";
    nederland.text = "Het weerbericht word opgehaalt.";
  } else {
    belgie.htmlText = container.belgie; //html output
    nederland.htmlText = container.nederland; //html output
    clearInterval(startLaden);
  }
}
startLaden = setInterval(laden, 10);
 


flash voorbeeld
Download de gratis flash plugin
Normaal zou hier dit voorbeeld moeten staan.




Tot zover deze tutorial over het extern inladen van tekst in flash

Mocht je toch tegen een probleempje aanbotsen, dan heb ik hier een zip met een werkend voorbeeld.
voorbeeld fla, externe text bestanden inladen in flash

Als je de beschikking hebt over php en mysql, dan kan je deze tutorial eens doornemen, daarin staat hoe je flash met je database kan laten communiceren.

Als deze tut of de voorbeelden niet voldoende waren om een en ander duidelijk te maken, aarzel dan niet om je probleem voor te leggen in het forum


Share |



Stem op deze tutorial


Reacties



Je bent niet ingelogged, je kan geen commentaar geven, of commentaren lezen over deze tutorial.