flash as3.0 键盘控制,求高手帮忙
要用键盘控制一个影片剪辑在屏幕中移动!stage.addEventListener(KeyboardEvent.KEY_DOWN,tkmove);//键盘控制坦克移动fu...
要用键盘控制一个影片剪辑在屏幕中移动!
stage.addEventListener(KeyboardEvent.KEY_DOWN,tkmove);
//键盘控制坦克移动
function tkmove(key:KeyboardEvent) {
if (key.keyCode==37||key.keyCode==65) {
this.tank_mc.x-=moveSpeed;
}
if (key.keyCode==38||key.keyCode==87) {
this.tank_mc.y-=moveSpeed;
}
if (key.keyCode==39||key.keyCode==68) {
this.tank_mc.x+=moveSpeed;
}
if (key.keyCode==40||key.keyCode==83) {
this.tank_mc.y+=moveSpeed;
}
}
在flash2.0中用Key.isDown()移动非常顺滑,可用3.0的stage.addEventListener(KeyboardEvent.KEY_DOWN,tkmove);转换方向前总有0点几秒的停顿,感觉转换方向非常僵硬。可不想用2.0写,有高手知道解决方法吗??
谢谢 chin0102 不过这篇文章主要是讲键盘组合的!
我的问题是 键盘控制转换方向总有0.几秒的停顿! 比如我按右方向键 tank先会向右移动一下,然后停顿0.5秒再继续移动.
谢谢 彬塞苍冥 回答 不过as3.0没key_press 加了key_up 没用 展开
stage.addEventListener(KeyboardEvent.KEY_DOWN,tkmove);
//键盘控制坦克移动
function tkmove(key:KeyboardEvent) {
if (key.keyCode==37||key.keyCode==65) {
this.tank_mc.x-=moveSpeed;
}
if (key.keyCode==38||key.keyCode==87) {
this.tank_mc.y-=moveSpeed;
}
if (key.keyCode==39||key.keyCode==68) {
this.tank_mc.x+=moveSpeed;
}
if (key.keyCode==40||key.keyCode==83) {
this.tank_mc.y+=moveSpeed;
}
}
在flash2.0中用Key.isDown()移动非常顺滑,可用3.0的stage.addEventListener(KeyboardEvent.KEY_DOWN,tkmove);转换方向前总有0点几秒的停顿,感觉转换方向非常僵硬。可不想用2.0写,有高手知道解决方法吗??
谢谢 chin0102 不过这篇文章主要是讲键盘组合的!
我的问题是 键盘控制转换方向总有0.几秒的停顿! 比如我按右方向键 tank先会向右移动一下,然后停顿0.5秒再继续移动.
谢谢 彬塞苍冥 回答 不过as3.0没key_press 加了key_up 没用 展开
2个回答
展开全部
http://bbs.actionscript3.cn/viewthread.php?tid=10213
我的意思是参照上面链接里的方法
var rightStatus:Boolean;
当你按下右方向键 ,rightStatus=true;
当你松开右方向键 ,rightStatus=false;
然后tank移动的具体实现 放在一个ENTER_FRAME事件中
if(rightStatus){
tank.x += xxx;
}
我觉得这样就能解决你的问题了,你可以试试.
我的意思是参照上面链接里的方法
var rightStatus:Boolean;
当你按下右方向键 ,rightStatus=true;
当你松开右方向键 ,rightStatus=false;
然后tank移动的具体实现 放在一个ENTER_FRAME事件中
if(rightStatus){
tank.x += xxx;
}
我觉得这样就能解决你的问题了,你可以试试.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询