关于键盘事件,有几点说明:
1. 直接在Flash调试键盘操作的时候,最好禁用快捷键,不然会和Flash默认的快捷方式冲突。
方法:CTRL+ENTER 进入测试后,点控制->禁用快捷键
2. 事件最好监听在stage(舞台上),不然会有很多激活的麻烦。
语句如下:stage.addEventListener(KeyboardEvent.KEY_DOWN, eventResponse);
3. 许多人说,MovieClip不能使用键盘监听,这个是错的。
不是不能监听,而是比较麻烦,同时AS3.0默认是禁止的,需要手动打开。
代码如下:
t1.buttonMode=true; //打开影片剪辑t1的键盘监听功能
function p1(event: ):void
{
trace("t1 responsed");
}
t1.addEventListener(KeyboardEvent.KEY_DOWN, p1);
运行的时候先点击一下t1以激活,如何,可以监听吧。
如果你想默认就是t1,也可以实现,再加上这么一句:
stage.focus = t1; //设置舞台默认焦点
所以,不要冒冒然下结论,多思考下原因,也许就会找到解决办法了。
4. 不要去看什么按键大全,到时候用的时候测试下就好了。这样会节省很多时间。
然后,我对KeyboardEvent的两个属性做个简单说明:
1. keyLocation:
一般情况都为0。按左shift的时候返回1,按右shift的时候返回2
(Ctrl Alt等按键类似)
2. charCode和keyCode的区别:
只有一个区别:当你按住Shift然后按数字2:
Keycode 返回的是“2”的字符代码。
charcode 返回的是“@”的字符代码。