+ -
当前位置:首页 → 问答吧 → 这个程序中的SWITCH有什么错误吗?

这个程序中的SWITCH有什么错误吗?

时间:2010-12-16

来源:互联网

请各位不要见笑,一个非常简单的小程序
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.ui.Keyboard;

var ball:Ball;
var vx:Number=0;
var ax:Number=0;
ball=new Ball();
addChild(ball);
ball.x=stage.stageWidth/2;
ball.y=stage.stageHeight/2;
stage.addEventListener(KeyboardEvent.KEY_DOWN,onkeydown);
stage.addEventListener(KeyboardEvent.KEY_UP,onkeyup);
function onkeydown(e:KeyboardEvent):void{
       switch(e.keyCode){
              case Keyboard.LEFT:ax=1;
              case Keyboard.RIGHT:ax=-1;
           default:ax=0;
       }
   
}
function onkeyup(e:KeyboardEvent):void{
       ax=0;
}
addEventListener(Event.ENTER_FRAME,one);
       function one(e:Event):void{
              vx+=ax;
              ball.x+=vx;
       }
为什么switch()在这里不起作用,只有改成if才行

作者: roxyman   发布时间: 2010-12-16

判断写得不对,怎样才是对的呢,请按F1,复制帮助文档中 关于switch的代码,并阅读说明

作者: flash023   发布时间: 2010-12-17

谢谢你的回答。问题我没有说清楚。这个程序是用键盘的光标控制小球的加速。RIGHT向右加速,LEFT向左加速。程序编译通过。但运行时如果是用SWITCH语句,小球没有反应。如果改成IF语句,小球就会动起来。还请再帮解疑

作者: roxyman   发布时间: 2010-12-17

明白了,必须要加break;

作者: roxyman   发布时间: 2010-12-17