ActionScript 3.0/Functies

Uit Wikibooks

ActionScript 3.0 Redelijk ontwikkeld. Revisiedatum: onbekend

  1. Inleiding Nog vrijwel niets. Revisiedatum: 19 januari 2011
  2. Basis Nog vrijwel niets. Revisiedatum: 19 januari 2011
  3. Variabelen Zeer goed ontwikkeld. Revisiedatum: 19 januari 2011
  4. Datatypes Zeer goed ontwikkeld. Revisiedatum: 19 januari 2011
  5. Functies Redelijk ontwikkeld. Revisiedatum: 19 januari 2011
  6. Aan de slag Goed ontwikkeld. Revisiedatum: 24 januari 2011
  7. Tutorial Redelijk ontwikkeld. Revisiedatum: 26 september 2011
  8. Instanties Nog vrijwel niets. Revisiedatum: 28 september 2011
  9. Statements-lussen In ontwikkeling. Revisiedatum: 25 januari 2011
  10. Operatoren Zeer goed ontwikkeld. Revisiedatum: 8 februari 2011
  11. Methoden Nog vrijwel niets. Revisiedatum: 24 januari 2011
  12. Klassen Nog vrijwel niets. Revisiedatum: 19 januari 2011
  13. Externe bestanden Redelijk ontwikkeld. Revisiedatum: 24 oktober 2011

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[bewerken]

Stop & Play[bewerken]

Met 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[bewerken]

De 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[bewerken]

Goto 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[bewerken]

Met 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[bewerken]

In 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[bewerken]

If 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[bewerken]

Een 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[bewerken]

Ook 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.

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.