Funktionerne er et meget nyttigt værktøj, når du har noget kode, som du gerne vil være i stand til at kalde og kunne anvende flere gange. Desuden gør de et længere script langt nemmere at arbejde med, da man så kan inddele det i logiske trin.
Hvis vi nu tager KeyTyper (
http://www.hhbk.subnet.dk/KeyTyper.swf), der blev lavet i forbindelse med noget undervisning, så er det jo ret åbenlyst, at hver gang en tast trykkes ned, så skal der tages en kopi af et movie clip. Hertil skal vi så bruge en funktion. Denne funktion bliver så i hvert fald nødt til at vide én ting - hvilken tast blev trykket ned! Derfor har funktionen parametret \"theChar\", som altså er tasten. Du kan se koden her:
function createLetter (theChar) {
if (letterCounter < maxChars and lineNumber < maxLines) {
charInLine++;
duplicateMovieClip (\"masterItem\", \"letter\" add letterCounter, letterCounter);
this[\"letter\" add letterCounter].theChar = theChar;
this[\"letter\" add letterCounter].targetX = startX+charInLine*itemSpacing;
this[\"letter\" add letterCounter].targetY = startY+lineNumber*lineSpacing;
this[\"letter\" add letterCounter]._xscale = letterSize;
this[\"letter\" add letterCounter]._yscale = letterSize;
letterCounter++;
}
if (charInLine >= lineLength and letterCounter < maxChars and lineNumber < maxLines) {
lineNumber++;
set (\"lineChars\" add lineInfo, charInLine);
lineInfo++;
charInLine = 1;
}
}
Det der foregår, er faktisk bare, at vi tager en kopi af vores movie clip \"masterItem\" og placerer det afhængigt af antallet af bogstaver på en linie. Derfor bliver vi nødt til at indsætte en række betingelser.
En anden, og mere simpel, funktion, kunne være en funktion, der udregnede summen af to tal:
function addNum (num1, num2) {
total = num1+num2;
return total;
}
Hvis jeg så ville finde værdien af to tal, kunne jeg så skrive:
txtOutput = addNum(2,5);
Hvis jeg så havde et tekstfelt, der hed \"txtOutput\", ville den altså vise tallet 7 (summen af de to tal).
Håber det hjælper :)
Håber det hjælper :)