控制
今天给大家说一下在Flash中利用键盘控制物体移动的两种方法,分别是利用Flash Actionscript中的updateAfterEvent和onEnterFrame来实现的。
查看效果时,先用鼠标单击一下Flash影片在用键盘方向键实现就可以看到效果。
首先看效果1:
再看效果2:
点击这里下载源文件
效果1我是用onEnterFrame来实现,效果2我是用updateAfterEvent来实现。首先声明上面两个Flash影片的帧频都是一样的30fps。大家通过测试上面的演示可能发现效果1移动的速度不如效果2快!当然你可以通过改帧频来实现速度加快。
主要给大家介绍一下上面两种效果的代码。
效果1
spriteDirection = 0;
this.onEnterFrame = function() {
if (Key.isDown(Key.RIGHT)) {
setDirection(0);
_root.sprite._x += 3;
}
if (Key.isDown(Key.LEFT)) {
setDirection(1);
_root.sprite._x -= 3;
}
if (Key.isDown(Key.DOWN)) {
_root.sprite._y += 3;
}
if (Key.isDown(Key.UP)) {
_root.sprite._y -= 3;
}
};
function setDirection(param){
if(param==0){
sprite._xscale = 100
} else {
sprite._xscale = -100
}
}
效果2:
spriteDirection = 0;
setInterval(function () {
if (Key.isDown(Key.RIGHT)) {
setDirection(0);
_root.sprite._x += 3;
}
if (Key.isDown(Key.LEFT)) {
setDirection(1);
_root.sprite._x -= 3;
}
if (Key.isDown(Key.DOWN)) {
_root.sprite._y += 3;
}
if (Key.isDown(Key.UP)) {
_root.sprite._y -= 3;
}
updateAfterEvent();
}, 10);
function setDirection(param){
if(param==0){
sprite._xscale = 100
} else {
sprite._xscale = -100
}
}