ActionScript 3.0/Functies
In ActionScript 3.0 vertel je het programma wat je moet door door middel van een bepaalde code. In deze code zitten variabelen. Wat er met deze variabelen moet worden gedaan wordt gedefinieerd in de functies van deze code. Een functie ziet er over het algemeen als volgt uit:
// een standaardfunctie ziet eruit als de functienaam gevolgd door ronde haakjes.
functieNaam(argument);
Er zijn in ActionScript 3.0 vele functie beschikbaar. Het is zelfs mogelijk om eigen functies te creëren. We zullen in dit hoofdstuk enkele van de standaardfuncties behandelen.
Standaardfuncties
bewerkenStop & Play
bewerkenMet de functies play()
en stop()
kan een filmclip gestart of juist gestopt worden. Als u een filmclipsymbool hebt met de naam symbool
, dan kunt u deze stilzetten in een bepaald frame met de volgende code:
symbool.stop(5);
Dit filmclipsymbool zal dus in het vijfde frame stoppen en beweegt dan niet meer. Onderstaand voorbeeld geeft aan hoe een object weer gestart kan worden.
function playAnimation(event:MouseEvent):void
{
symbool.play();
}
startButton.addEventListener(MouseEvent.CLICK, playAnimation);
Trace
bewerkenDe trace
functie is een die eigenlijk maar één nut heeft. Als jij je film start stuurt hij een bericht naar je uitvoervak. Als er een fout optreedt bij het programma komt dit ook door deze functie, dus het werkt ook als een soort debuggingfunctie.
Een voorbeeld van trace
is:
trace("Hallo ik ben ….");
Als je dit in je actionscript window typt en dan je film start verschijnt dit in je uitvoerscherm.
Ook is het mogelijk om variabelen te tracen. Een voorbeeld hiervan is:
Var naam:String = “Pieter”
Var score:String = “100”
Trace(naam + “heeft” + score + “punten gehaald”)
Hier hoef je alleen de variabelen te veranderen om een heel ander bericht te geven.
Goto
bewerkenGoto
is een functie die het filmpje naar een specifieke frame in een bepaalde scene stuurt. Er zijn twee varianten: gotoAndStop
en gotoAndPlay
. gotoAndStop
zal het filmpje stoppen nadat hij het frame heeft geopend. gotoAndPlay
speelt daarentegen het filmpje af na een bepaald frame.
gotoAndStop( scene, frame )gotoAndPlay( scene, frame )
Scene: De scene van de frame waar je naartoe wil. Als je geen scene aangeeft dan zal de huidige scene gebruikt worden.
Frame: Het nummer van de frame waar je naartoe wil.
Een voorbeeld van goto
is:
on(release) {
gotoAndStop("Scene 1", 5);
}
loadMovie
bewerkenMet de functie loadMovie
kun je een swf- of jpg-file starten. Deze functie is handig om bijvoorbeeld meerdere flashfilmpjes te tonen zonder dat de gebruiker een nieuwe pagina hoeft te openen.
loadMovie( " url ", level / target [ , variables ])
Url
: Deze parameter geeft de plek van het op te roepen plaatje of filmpje aan. Deze url kan relatief of absoluut zijn.Level
: Hier kun je aangeven in welk level het filmpje/plaatje geladen moet worden. De waarde moet een integer zijn.Target
: Deze parameter geeft de plek aan van het filmpje waarin je het plaatje/filmpje wilt laden. Target gebruik je in plaats van level en kan dus niet tegelijk met level gebruikt worden.
Hier is een voorbeeld van loadMovie
waarmee een plaatje in het filmpje wordt opgeroepen:
loadMovie("image45.jpeg", "ourMovieClip");
grootte aanpassen
bewerkenIn ActionScript 3.0 is het mogelijk om movieclips een andere grootte te geven. Het is natuurlijk niet altijd even handig dat ze in hun originele verhoudingen gepresenteerd worden. Hiervoor kan men gebruik maken van een extra stukje code bij het creëren van de movieclip.
Bij het voorbeeld van loadMovie
gaat dit als volgt:
loadMovie("image45.jpeg", "ourMovieClip");
ourMovieClip.scaleX = 100;
ourMovieClip.scaleY = 150;
De toevoeging .scaleX geeft een procentuele verandering van de breedte aan. Zo geeft de toevoeging .scaleY een procentuele verandering van de grootte van de hoogte aan. Dat wil zeggen dat bij de bovenstaande code de hoogte anderhalf keer hoger wordt.
If/If else
bewerkenIf
is een functie waarmee je voorwaardes kunt stellen aan bepaalde stukken code. Als de voorwaarde klopt dan zal de code binnen de if uitgevoerd worden. Wordt er niet aan de voorwaarde voldaan, dan zal de code binnen de if genegeerd worden. Men kan er voor kiezen een else-functie toe te voegen. Binnen de else staat een functie die alleen uitgevoerd wordt als er niet aan de voorwaarde van de if functie voldaan wordt.
if( voorwaarde)
{
code ;
}
else {code}
Voorwaarde: Dit is de voorwaarde waaraan voldaan moet worden. Een voorbeeld van een voorwaarde is bijvoorbeeld:
int2 == 20
De voorwaarde is "true" of "false".
Code
: Dit is de code die uitgevoerd moet worden als de voorwaarde "true" is.
Let goed op dat de voorwaarde en de code tussen verschillende soorten haakjes staan. De voorwaarde staat tussen gewone haakjes () terwijl de code tussen accolades {} staat.
Voorbeeld:
if(teller == 40) {
int teller = 0;}
else{int teller = teller+1;};
Loop
bewerkenEen loop
is een functie waarmee je een code meerdere malen achter elkaar aan uitvoert. Deze functie kan je een hoop tijd en moeite besparen wanneer dezelfde code meerdere malen herhaald moet worden.
Wanneer je bijvoorbeeld meerdere video's wilt toevoegen kan je de code add
gebruiken;
loadMovie("image45.jpeg", "ourMovieClip")
loadMovie("image45.jpeg", "ourMovieClip")
loadMovie("image45.jpeg", "ourMovieClip")
loadMovie("image45.jpeg", "ourMovieClip")
loadMovie("image45.jpeg", "ourMovieClip")
Maar je kan ook de loop
gebruiken.
for (var i: Number = 1; i <= 5; i + +) {
loadMovie("image45.jpeg", "ourMovieClip");
}
De var i
betekent dat je de variabele i noemt, het maakt niet uit welke naam je hier gebruikt. Number
geeft aan bij welk nummer je begint met tellen. Wanneer je 5 keer een video of een plaatje wilt invoegen, vul je in i <=5. De i + + betekent dat er bij de variabele i 1 wordt opgeteld. Daardoor wordt Number 2.
Eigen functie maken
bewerkenOok is het mogelijk om je eigen functie te creëren. Dit kan handig zijn om je eigen scripts te runnen en makkelijke maken om te herkennen. Een simpel voorbeeld hiervan is:
function zegHoi ( ) {
trace("Hoi");
}
zegHoi( );
In de eerste regel maak je je eigen functie aan, namelijk Hoi. In de tweede regel laat je in je uitvoer scherm “Hoi” verschijnen. De laatste regel voert de functie uit.