In deze tut zal ik jullie uitleggen hoe je movieclips kan bewegen door middel
van je keyboard.
Om deze tut gemakkelijk door te lopen is het handig als je al wel weet hoe je
movie clips maakt, en er actionscript aan kan toevoegen.
We beginnen dus met met het aanmaken van een movieclip die we willen laten bewegen.
Zodra je een clipje hebt gemaakt slepen we die figuur op de main scene.
Met die clip nog geselecteerd voegen we de volgende actionscript toe die het
clipje doet bewegen.
onClipEvent (load) {
loopsnelheid = 7;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.UP)) {
_y-= loopsnelheid;
}
if (Key.isDown(key.DOWN)) {
_y+= loopsnelheid;
}
if (Key.isDown(key.LEFT)) {
_x-= loopsnelheid;
}
if (Key.isDown(key.RIGHT)) {
_x+= loopsnelheid;
}
}
verklaring van bovenstaande code
onClipEvent (load) { actie,(s) ; }
zodra die clip is geladen word er aan die clip
verteld wat die loopsnelheid is (in dit geval dus 7)
onClipEvent (enterFrame)
{
if (Key.isDown(Key.UP))
{
_y-= loopsnelheid;
}
Zodra er op de tijdlijn deze frame word bereikt, word er gekeken
welke knop er gebruikt werd, en word de loopsnelheid er bij opgeteld/afgetrokken
(in dit voorbeeldje werd het dus afgetrokken)
Als je zelf ondertussen aan het flashen bent met de codes die je toe nu toe
hebt gehad, kan je al wel bewegen, maar ons clipje "kijkt" altijd de kant op
zoals we het gemaakt hebben.
Dit kunnen we veranderen door er een "property" aan te geven.
_rotation = aantal graden hier ;
Een werkend stukje action script hier zou zijn
if (Key.isDown(Key.UP)) {
_rotation = 0;
_y-= loopsnelheid;
}
Als je naar beneden zou klikken zou het _rotation
=180; moeten zijn, de andere combies kun je zelf wel bedenken ^^
Zodra je voor elke button deze property hebt ingevoerd zal ons figuurtje ook
de juiste kant opkijken.
Opmerking:
De loopsnelheid is mede afhankelijk van de framerate van je movie (7 is dus
eigenlijk relatief)
en een hogere framerate zou een hogere snelheid opleveren.
Opmerking:
Om ervoor te zorgen dat ons figuurtje niet uit het scherm loopt moeten we nog
even tegen hem vertellen tot waar hij mag bewegen.
Met de onderstaande AS kunnen we dit verwezelijken.
onClipEvent (enterFrame){
if (this._x < 0 ) {
this._x = 0;
//0 is het begin van de movie (in de breedte)
}
elseif (this._x > 400) {
this._x = 400;
//400 is de breedte van de swf
}
}
Hetzelfde moet je ook nog doen voor de _y as van je swf.
In mijn voorbeeldje bovenin komt het figuurtje telkens langs een andere kant
weer binnen, dat is gedaan door middel van hitTest
Tot zover deze tut, evt vragen kun je stellen in het forum.
Happy flashing.