Javisst. I Flash finns flera olika sätt att ladda spellistor. Antingen kan du skapa spellistan som ett XML dokument och använda xml-objektet för att ladda in och läsa av det.
Eller så kan du skapa en textfil som innehåller variabler i querystring-format. och använda LoadVars-objektet för att läsa in variablerna.
Querystring formatet är det som används av HTML-formulär bland annat för att skicka variabler.
I detta format så inleds ett variabelnamn med tecknet & och avslutas med ett =-tecken. Efter =-tecknet följer variabeldatan.
T.ex:
&film1=heybaberiba.mpg
I querystring:en ovan har vi alltså en variabel som heter "film1" och dess värde är "heybaberiba.mpg". Notera att det får inte finnas några mellanslag eller annan "whitespace" mellan variabelnamnet och &-tecknet eller =-tecknet för då kommer dessa att tolkas som en del av variabelnamnet.
Exempel:
Här blir variabelnamnet "film1 "
&film1 =heybaberiba.mpg
Vill du ha fler variabler så är det bara att lägga in ett &-tecken efter föregående variabels data följt av nästa variabelnamn:
&film1=heybaberiba.mpg&film2=spiderman3.avi
Det kan tyckas innebär vissa problem att vissa tecken, som t.ex. "&" och "=", används av querystring formatet. Speciellt om man skall skicka text som kan tänkas innehålla något av dessa tecken. För att komma runt problemet så kan man utföra url-encoding på datan innan den skickas. Alla serverside språk(t.ex.: ASP och PHP) men även språk på klientsidan(Javascript, actionscript m.m.) har inbyggda funktioner för detta. Däremot kan det vara ganska olika hur man *gör*. I Javascript/actionscript används funktionen escape() för att koda och unescape() för att avkoda.
Nu när du formaterat och sparat variablerna i ett textfällt så skall de laddas in i Flash. Detta gör du som sagt med LoadVars-objektet.
Först måste du skapa en ny instans av objektet:
var myLV = new LoadVars();
Sedan så behöver vi skapa en eventhanterare för onLoad eventet. Inladdningar i Flash sker asynkront. Vilket innebär att när man säger åt LoadVars-objektet att ladda in variabler så väntar inte Flash tills inladdningen är klar utan fortsätter istället vidare med nästa kodrad. Eventet onLoad "avfyras" när variablerna är inladdade och klara att användas. Det finns även en parameter som talar om ifall någonting gick snett när filen skulle laddas.
myLV.onLoad = function(success)
{
if(success)
{
// Laddningen lyckades. Härifrån kan du distubiera variablerna vidare och ev
// starta den del av filmen som använder sig av dem.
} else {
// Ett fel i laddningen uppstod och ev. felhantering placeras här.
}
}
De inladdade variablerna ligger som properties till LoadVars objektet så innifrån onLoad eventet ovan kan man nå dem med "this.variabelnamn".
Sist men inte minst så skall vi säga åt Flash att ladda in textfilen med variablerna. T.ex kan vi kalla denna fil för "playlist.txt":
myLV.load("playlist.txt")
Detta var bara en skrapning på ytan vad gäller LoadVars objektet. Slå upp den inbygda actionscript referensen i Flash för mer information kring tillgängliga properties, metoder och events.
/Mirandir