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.
Er zijn 2 manieren om je figuurtje te laten bewegen, onderstaande twee voorbeeldjes tonen de verschillende manieren van bewegen.
Recht toe recht aan
Zoals een auto
Het figuur maken wat je wilt laten bewegen met flashWe beginnen dus met met het aanmaken van een movieclip die we willen laten bewegen.
Let er op dat je figuur naar "boven" laat kijken, anders kloppen de action script codes niet die ik verder gebruik in deze tutorial.
Een ander ding waar je rekening mee moet houden is het registratie punt van je figuur.
Dit registratie punt is het punt wat je figuur als draaipunt gebruikt.
Bij mijn voorbeelden ziet dat er zo uit.

Zodra je een movieclip hebt gemaakt keren we terug naar de main scene en slepen we ons figuur uit de library op de main scene.
ActionScript toevoegen die ons figuur laat bewegen en ervoor zorgt dat het figuur niet uit beeld looptSelecteer op de main scene je figuur en geef het de instancenaam
rups.
Klik nu in de tijdlijn op een keyFrame en open het actionscript panel (F9), copieer en plak het eerste script als je de rechtaan manier wilt gebruiken of het tweede script als je de auto manier wilt gebruiken.
De recht toe recht aan manier van bewegen:actionscript code//Zo hard kan de rups lopen
snelheid = 5;
onEnterFrame = function () {
//Dit stukje zorgt ervoor dat de rups niet uit beeld loopt
if (rups._y<0) {
rups._y = 0;
} else if (rups._y>Stage.height) {
rups._y = Stage.height;
}
if (rups._x<0) {
rups._x = 0;
} else if (rups._x>Stage.width) {
rups._x = Stage.width;
}
//onderstaande verzorgt het keyboard gedeelte
if (Key.isDown(Key.UP)) {
rups._rotation = 0;
rups._y -= snelheid;
}
if (Key.isDown(Key.DOWN)) {
rups._rotation = 180;
rups._y += snelheid;
}
if (Key.isDown(Key.RIGHT)) {
rups._rotation = 90;
rups._x += snelheid;
}
if (Key.isDown(Key.LEFT)) {
rups._rotation = 270;
rups._x -= snelheid;
}
};
De auto manier van bewegen:actionscript code//zo hard loopt de rups
snelheid = 5;
onEnterFrame = function () {
//Dit stukje zorgt ervoor dat de rups niet uit beeld loopt
if (rups._y<0) {
rups._y = 0;
} else if (rups._y>Stage.height) {
rups._y = Stage.height;
}
if (rups._x<0) {
rups._x = 0;
} else if (rups._x>Stage.width) {
rups._x = Stage.width;
}
//onderstaande verzorgt het keyboard gedeelte
if (Key.isDown(Key.RIGHT)) {
rups._rotation += 10;
}
if (Key.isDown(Key.LEFT)) {
rups._rotation -= 10;
}
if (Key.isDown(Key.UP)) {
rups._y -= snelheid*Math.cos(rups._rotation*(Math.PI/180));
rups._x += snelheid*Math.sin(rups._rotation*(Math.PI/180));
}
if (Key.isDown(Key.DOWN)) {
rups._y += snelheid*Math.cos(rups._rotation*(Math.PI/180));
rups._x -= snelheid*Math.sin(rups._rotation*(Math.PI/180));
}
};
snelheid veranderen met de spatiebalkNu hebben we dan wel een rups die kan lopen, maar stel dat we een turbo toets willen inbouwen, dus dat ons figuurtje sneller gaat bewegen.
Dit kunnen we doen een klein beetje code weg te halen en toe te voegen in de onEnterFrame functie, namelijk:
actionscript code//Zo hard kan de rups lopen
snelheid = 5;
//de 2 regels hierboven mag je weghalen
//en deze regels bijzetten in de onEnterFrame functie
if (Key.isDown(Key.SPACE)) {
snelheid = 8;
}else{
snelheid = 5;
}
Uitleg van de ActionScriptsonEnterFrame = function{//doe iets }Alles tussen de accolades word continue herhaalt.
We beginnen het script met een paar regels code die ervoor zorgt dat we ons figuurtje niet uit beeld kunnen laten lopen.
rups._x en
rups._y zijn de coordinaten van het registratie punt van ons figuurtje.
De Stage.width en Stage.height die je terug vind in de code, zijn de breedte en hoogte maten van de swf.
if (Key.isDown(Key.NAAM)) { //doe iets }Er wordt nonstop gekeken welke knop van je keybord er is ingedrukt, als een bepaalde knop is ingedrukt worden de actions uitgevoerd die tussen de accolades staan.
(zie hieronder)rups._rotation = getal doet precies wat je al verwacht en draait ons figuur het aantal graden wat je meegeeft.
rups._x en
rups._y = snelheid Dit zorgt ervoor dat het figuur het aantal pixels opschuift per frame cyclus.
Bij de "auto" manier gaat het net iets anders, op de auto manier, gebruik je de pijltjes links en rechts om te draaien en de up en down om vooruit/achteruit te gaan.
Hopelijk heb je iets aan deze tutorial gehad en kan je nu naar hartelust race spellen, adventure games, rpg games etc maken met flash.
Succes en happy flashing.
Download FLA bestanden.
Je bent niet ingelogged, je kan geen commentaar geven, of commentaren lezen over deze tutorial.