flash脚本,actionscript

来源:百度知道 编辑:UC知道 时间:2024/06/24 16:02:15
这边有个代码麻烦内行的帮忙看下,是简单的代码..但我调试的时候竟然没反应,设置键盘的侦听功能
在一个图层上画了一个MovieClip,命名为: mRect想要让他跟键盘互动.就是上下左右的键,它也能上下左右移,代码下面
mRect.onKeyDown=function():Void
{
if(Key.isDown(Key.LEFT)){mSc._x--;}
if(Key.isDown(Key.RIGHT)){mSc._x++;}
if(Key.isDown(Key.UP)){mSc._y++;}
if(Key.isDown(Key.DOWN)){mSc._y--;}
我运行之后没反应代码是没有错..但就是不互动了.加了侦听功能也是一样的.
就加个var oKeyListener:Object=new Object();
然后来个Key.addListener(oKeyListener);
都一样的没反应..哪位高手能够赐教下..在此谢过了.
能详细点最好了..我觉得好像少了点什么所以没有互动.

代码没有问题,但是缺少了一些语句,在你的代码的前面加上:

mRect.focusEnabled = true;
Selection.setFocus(mRect);

让mRect获得焦点就可以了.

如果想全局控制mRect的移动,可以编写这样的代码:

var oKeyListener:Object = new Object();
oKeyListener.onKeyDown = function() {
if (Key.isDown(Key.LEFT)) {
mRect._x--;
}
if (Key.isDown(Key.RIGHT)) {
mRect._x++;
}
if (Key.isDown(Key.UP)) {
mRect._y--;
}
if (Key.isDown(Key.DOWN)) {
mRect._y++;
}
};
Key.addListener(oKeyListener);

var key = new keyDown
key.left = keyDown
key.right = keyright
....

改成下面的:
mRect.onEnterFrame = function() {
if(Key.isDown(Key.LEFT)){this._x--;}
if(Key.isDown(Key.RIGHT)){this._x++;}
if(Key.isDown(Key.UP)){this._y--;}
if(Key.isDown(Key.DOWN)){this._y++;}
}