I exemplet finns det två MovieClip. Skepp har flera namngivna keyframes där MovieClipet Flame ligger vid olika raketmotorer. animationsstyrning med piltangenterna.fla//håller redan på vilken tangent som är nedtryckt var leftArrow:Boolean = false; var rightArrow:Boolean = false; var upArrow:Boolean = false; var downArrow:Boolean = false; //hastighet var speed_y:Number = 0; var speed_x:Number = 0; //acceleration var acc:Number = 1.5; //lyssnare för tangenter stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressedDown); stage.addEventListener(KeyboardEvent.KEY_UP, keyPressedUp); //lägger till eventlyssnare för move stage.addEventListener(Event.ENTER_FRAME, moveSkepp); function keyPressedDown(e:KeyboardEvent) { //kontrollerar vilken tangent som eventet gäller //hoppar även till den frame i MovieClipet där rätt animation //finns (om tangenten inte redan är nedtryckt) if (e.keyCode == 37) { if(leftArrow == false){ skepp_mc.gotoAndStop("left"); } leftArrow = true; } if (e.keyCode == 39) { if(rightArrow == false){ skepp_mc.gotoAndStop("right"); } rightArrow = true; } if (e.keyCode == 38) { if(upArrow == false){ skepp_mc.gotoAndStop("up"); } upArrow = true; } if (e.keyCode == 40) { if(downArrow == false){ skepp_mc.gotoAndStop("down"); } downArrow = true; } } function keyPressedUp(e:KeyboardEvent) { //går till framen där ingen flame-animation är igång skepp_mc.gotoAndStop("stop"); //kontrollerar vilken tangent som eventet gäller if (e.keyCode == 37) { leftArrow = false; } else if (e.keyCode == 39) { rightArrow = false; } if (e.keyCode == 38) { upArrow = false; } else if (e.keyCode == 40) { downArrow = false; } } function moveSkepp(e:Event) { //flyttar skeppet skepp_mc.y += speed_y; skepp_mc.x += speed_x; //ökar eller minskar hastigheten beroende av tengent if (leftArrow) { speed_x -= acc; } if (rightArrow) { speed_x += acc; } if (upArrow) { speed_y -= acc; } if (downArrow) { speed_y += acc; } } För att ta reda på vilken keyCode som hör till respektive tangent kör "keycodeGenerator.swf" |
Programmering > exempel >
animationsstyrning med piltangenterna
I exemplet finns det två MovieClip. Skepp har flera namngivna keyframes där MovieClipet Flame ligger vid olika raketmotorer. För att ta reda på vilken keyCode som hör till respektive tangent kör "keycodeGenerator.swf" |