谁帮我看看这段代码 为什么不好使

vovo2000 2011-08-08 03:25:39
我在画面上已经放了一个movieclip 实例名是movieI
我想实现这样子的功能,
当按上向上的箭头键的时候,它向上移动,
当按下向上的箭头键的时候,它向下移动。
实现思想:
赋予他一个dire的值,用来保存按下的键盘的键码,
在它的ENTER_FRAME事件函数里,判断这个键码,如果是向上箭头,就向上移动,如果是下箭头,就向下移动。
但是下面的代码,却无法移动。
求明白帝,帮忙分析一下原因。

//用来保存键码
movieI.dire = 0;

//侦听stage键盘事件,把接收到的键码,赋予movieI
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyD);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyU);
function keyD(e:KeyboardEvent):void{
movieI.dire = e.keyCode;
}
function keyU(e:KeyboardEvent):void{
movieI.dire = null;
}

//添加movieI的ENTER_FRAME事件
movieI.addEventListener(Event.ENTER_FRAME,moveMe);
function moveMe(e:Event):void{

if(movieI.dire == "38")
moveI.y =movieI.y -2;

if(moveI.dire == "40")
moveI.y =movieI.y + 2;
}
...全文
79 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vovo2000 2011-08-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 diffmaker 的回复:]

stage.addEventListener(KeyboardEvent.KEY_DOWN,keyD);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyU);

后面事件为UP?
[/Quote]

太感谢了。我真糊涂。
diffmaker 2011-08-08
  • 打赏
  • 举报
回复
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyD);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyU);

后面事件为UP?
diffmaker 2011-08-08
  • 打赏
  • 举报
回复
trace(movieI.dire)看看?

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧