flash控制移动

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:23:42
想用按键控制一个物体的移动,我把控制代码写在onenterframe里面的时候移动的太快,写在函数里的时候给他setinterval一下的时候按键的时候他延迟又太大,请高手帮忙。

onenterframe 逐帧执行程序。
如果太快,也许你可以试试改变一下你flash的帧频(默认12帧/秒)
如果不能改,可以试试给出一个变量。
每次按下按钮时改变它,当到一个数时才另MC移动。
比如:
var XY_Change=0//写到帧上
//以下写onenterframe上:

if (Key.isDown(Key.RIGHT)&&XY_Change==3) {
_root.MC._y -= 1;
_root.XY_Change=0
} else{
_root.XY_Change++
}

你用以下代码试下。 用键盘上的方向键移动场景中的mc
sp可以调节速度
//

var keyListener:Object = new Object();
sp=2;
keyListener.onKeyDown = function() {
if (Key.getCode() == 38) {
mc._y -= sp;
}
if (Key.getCode() == 37) {
mc._x -= sp;
}
if (Key.getCode() == 39) {
mc._x += sp;
}
if (Key.getCode() == 40) {
mc._y += sp;
}
};
Key.addListener(keyListener);