TUTORIALS / Actionscripting / Beginnen met actionscript
| Waardering: | 40 keer gestemd |
|
3.4 van de 5 |
|
|||||
| Formaat: | 380 KB | ||||
Stuiterende Balletjes met Flash MX
of: een introductie in de kunst van het object georiënteerd programmeren© Ton van den Broeck
Inleiding
We beginnen een beetje saai: we gaan een veld maken waarin twee balletjes tegen
de wanden stuiteren en tegen elkaar.
Elk balletje weet waar de wanden zijn en waar het andere balletje is.
Bij aanraking gaat het balletje een andere kant uit.
Later voegen we een achtergrond in, maken een start- en een stopknop, laten
een groot aantal balletjes afstammen van één movieClip, plaatsen
die automatisch in het beeld en we passen steeds de kleur van de balletjes aan
na een botsing.
In het laatste stadium wordt één van de balletjes "dragable"
gemaakt: dit wil zeggen dat het met de muisaanwijzer verplaatst kan worden en
het aantal balletjes dat je wil hebben is aan de player door te geven.
Als afsluiting laten we de balletjes geluid produceren.
ActionScript opdrachten die je na deze sessie begrijpt en kunt toepassen zijn:
· this
· onClipEvent (load)
· onClipEvent (enterFrame)
· on (press)
· setProperty ()
· object.hitTest()
· function name()
· math.round()
· math.random()
· parseInt()
· duplicateMovieClip()
· new Color()
· myColor[i].setRGB(hexadecimaal getal)
· startDrag() stopDrag()
· mySound.attachSound(" ")
· mySound = new Sound()
· switch (teller) { case 1: opdracht; break;}
· mySound.setVolume(50)
Deel 1 Zet de scene klaar en wek de onderdelen tot leven
Maak de scene bijvoorbeeld 550 bij 400 pixels. Daarmee is de film gelijkvormig met het beeldscherm:
Modify - Document - Dimensions.
Kies daar ook een achtergrondkleur (Background Color).
Maak een movieclip (= object) met de naam bal.
Objecten in Flash zijn dingen op de "stage" of werkruimte.
Teken een bal. Selecteer de tekening van de bal en maak het tot object. Geef
het de naam: bal.
Insert - Convert to symbol - Name (bal) - Behavior (Movie Clip).
Je kunt de selectie ook naar de library slepen. In de library worden alle symbolen - Movie Clips, Buttons en Graphic - bewaard.
De library bevat de object-symbolen. Dat zijn de mallen waarmee je de eigenlijke
objecten gaat maken.
|
Intermezzo
In een object-georiënteerde taal als bijvoorbeeld Java heten deze
symbolen "klassen".
|
voeg aan de bal een aantal variabelen toe.
Het Object bestaat uit minstens één layer: voeg in de layer de
actions toe.
Windows - Actions
Het object is een container geworden van variabelen en eigenschappen.
this.xspeed = 10;
this.yspeed = 10;
this.friction= 0.99;
Het begrijpen van de noodzaak van het sleutelwoord "this"
is een volgende stap naar het begrijpen van een object-georiënteerde taal.
Het keyword this zorgt ervoor dat de drie eigenschappen toekomen aan het object dat deze code bevat: het object-symbool bal. Symbolen worden gemaakt om nageslacht (instanties) te maken. Elke instantie die afgeleid is van bal erft de drie eigenschappen.
Hetzelfde kan niet worden bereikt door de code
bal.xspeed = 10;
toe te voegen. Het nageslacht van dit object heet hoogst waarschijnlijk niet bal, maar moet de eigenschappen wel meekrijgen.
Het nageslacht (b.v. instantie bal5) draagt het geërfde this met zich mee en dat wordt dan opgevat als een verwijzing naar de bal5.
In dit voorbeeld krijgt het object (= movieClip) drie variabelen: een snelheid in de x-richting (xspeed); een snelheid in de y-richting (yspeed) en een wrijvingsfactor (friction). Deze variabelen vormen de genen van het object. Al het nageslacht (instances) erven deze genen.
|
Intermezzo
|
In het vervolg van het programma kunnen deze variabelen andere waarden krijgen.
Echt goede uitleg, mooi extra informatie gegeven om de beginnende scripter niet vol verbazing achter te laten.
Maar zoals gezegd, setproperty is niet meer nodig, meer zelfs, het staat in flash mx tussen de depreciated funtions, dit kan erop wijzen dat het in een van de volgende releases van de flash niet meer ondersteunt zal worden.
setProperty (this, _x, newxpos)
kan dus simpelweg vervangen worden door this._x=newpos
Geen kritiek, enkel aanvullende informatie



