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 没用
展开
 我来答
chin0102
2009-08-11 · TA获得超过225个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:432万
展开全部
http://bbs.actionscript3.cn/viewthread.php?tid=10213

我的意思是参照上面链接里的方法
var rightStatus:Boolean;
当你按下右方向键 ,rightStatus=true;
当你松开右方向键 ,rightStatus=false;

然后tank移动的具体实现 放在一个ENTER_FRAME事件中
if(rightStatus){
tank.x += xxx;
}

我觉得这样就能解决你的问题了,你可以试试.
彬塞苍冥
2009-08-10
知道答主
回答量:18
采纳率:0%
帮助的人:10万
展开全部
keyborad有三个属性,除了key_down,key_up,还有key_press,这个你设置成和key_down一样的属性就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式