Thread: Stom actionscript probleem
-
13-11-2008, 20:59 #1Banned
- Registered
- 06/11/06
- Location
- Evergem
- Posts
- 9,882
- iTrader
- 97 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/53
Stom actionscript probleem
Ik ben dus voor de moment iemand aan het helpen met zijn actionscript maar stoot nu zelf op een dom probleem.
bedoeling is dat je in een kleine stage door de movieclip (fotos_mc) kunt navigeren met de pijltjes. Nu is er geen probleem met het navigeren maar ik kan blijven navigeren voorbij die mc en gewoon verder gaan in witte achtergrond. Iemand die een secondje kan zeggen hoe ik zorg dat mijn navigeren stopt aan het einde van mijn movieclip?Code:var verplaatsing:Number = 7; fotos_mc.onEnterFrame = function() { if (Key.isDown(Key.RIGHT)) { fotos_mc._x -= verplaatsing; } if (Key.isDown(Key.LEFT)) { fotos_mc._x += verplaatsing; } if (Key.isDown(Key.UP)) { fotos_mc._y += verplaatsing; } if (Key.isDown(Key.DOWN)) { fotos_mc._y -= verplaatsing; } };
Thxno votes
-
-
13-11-2008, 21:42 #2Member
- Registered
- 06/06/04
- Location
- Bilzen
- Posts
- 8,805
- iTrader
- 18 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 42/128
Controleren of uw x-waarde niet groter is dan de width van uw clip + of - een bepaalde waarde?
no votes
-
14-11-2008, 15:13 #3Member
- Registered
- 18/12/03
- Location
- Hasselt
- Posts
- 1,758
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/5
misschien is dit wel interessant voor jouw.
tutorial Flash objecten laten bewegen via je keyboardLife before the computer: memory was something that you lost with age, a cursor used profanity and if you had a 3 1/2 inch floppy you just hoped nobody found out...no votes
-
15-11-2008, 02:11 #4Member
- Registered
- 18/07/02
- Location
- Deurne
- Posts
- 3,854
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 14/14
onEnterFrame is redelijk dirty (lees: onnodig cpu-intensief), je kan beter een KeyListener gebruiken:
Code:var verplaatsing:Number = 7; var myListener:Object = new Object(); myListener.onKeyDown = function() { switch(Key.getCode()){ case Key.LEFT: fotos_mc._x -= verplaatsing;break; case Key.RIGHT: fotos_mc._x += verplaatsing;break; case Key.UP: fotos_mc._y -= verplaatsing;break; case Key.DOWN: fotos_mc._y += verplaatsing;break; } }; Key.addListener(myListener);
om een regio af te bakenen controleer je alvorens de movieclip te verplaatsen in een if-then-else structuur of je nog wel verder kan, en pas dan ga je het item z'n nieuwe positie toekennen. je kan ook een functie maken die deze controle voor z'n rekening neemt en via een boolean return-waarde beslist of er zal verplaatst worden of niet.
een herwerkt voorbeeld hiervan gaat als volgt:
kheb hier ook een voorbeeldje van online gesmeten: http://www.showme.be/madefor/9lives/kaderAfbakenen.zipCode:var verplaatsing:Number = 5; var myListener:Object = new Object(); myListener.onKeyDown = function() { switch(Key.getCode()){ case Key.LEFT: if(VerplaatsenMogelijk(fotos_mc,"left")){fotos_mc._x -= verplaatsing};break; case Key.RIGHT: if(VerplaatsenMogelijk(fotos_mc,"right")){fotos_mc._x += verplaatsing};break; case Key.UP: if(VerplaatsenMogelijk(fotos_mc,"up")){fotos_mc._y -= verplaatsing};break; case Key.DOWN: if(VerplaatsenMogelijk(fotos_mc,"down")){fotos_mc._y += verplaatsing};break; } }; Key.addListener(myListener); function VerplaatsenMogelijk(tempMC:MovieClip,direction:String):Boolean{ var setState:Boolean; switch(direction){ case "left":if(tempMC._x > afbakening_mc._x){setState=true;}else{setState=false;};break; case "right":if(tempMC._x < (afbakening_mc._x + afbakening_mc._width)-tempMC._width){setState=true;}else{setState=false;};break; case "up":if(tempMC._y > afbakening_mc._y){setState=true;}else{setState=false;};break; case "down":if(tempMC._y < (afbakening_mc._y + afbakening_mc._height)-tempMC._height){setState=true;}else{setState=false;};break; } return setState; }no votes
-
17-11-2008, 22:55 #5no votes
-
18-11-2008, 00:24 #6Member
- Registered
- 18/07/02
- Location
- Deurne
- Posts
- 3,854
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 14/14
no votes

