Flash 中响应键盘的一般方法
2007-01-03 10:51:49 来源:WEB开发网键盘侦听的事件处理函数有两个:onKeyUp和onKeyDown,如下所示:
Key.addListener(_root);
_root.onKeyUp = function() {
trace(Key.getAscii());
};
//代码的意思是,当按下一个键并释放后,输出窗口将输出你按下的那个键的Ascii码
当然,你也可以使用影片剪辑作为侦听键盘的对象,只需要使用影片剪辑的路径代替_root作为Key.addListener命令的参数就可以了。
比如下面代码:
Key.addListener(_root.mc);
_root.mc.onKeyUp = function() {
trace(Key.getAscii());
};
//代码的意思是,当按下一个键并释放后,输出窗口将输出你按下的那个键的Ascii码,意思差不多,但是键盘侦听对象不同,一个是影片mc,一个是主时间轴。
最后给出实例原文件:方法3.fla
方法四
第四种响应键盘的方法:利用影片剪辑的keyUp和keyDown事件来实现响应键盘
最后一种方法很容易被忽视,但是也有一定的应用价值,最重要的是把概念弄清楚。
影片剪辑包含两个与键盘相关的事件keyUp和keyDown,使用它们也可以实现对按键事件的响应
例如下面的代码:
onClipEvent (keyDown) {
trace(Key.getAscii());
}
//当按下键盘上的一个键的时候,输出窗口将输出按下的这个键的Ascii码值。
函数Key.getAscii表示返回与按键相对应的ASCII码,其中 ASCII码是一个整数,键盘上的每个字符对应一个ASCII码,如字母A对应的ASCII码为65,B对应的ASCII码为66,a对应的ASCII码为97, b对应的ASCII码为98,+ 对应的ASCII码为43等。需要注意的是:只有字符键才有ASCII码,键盘上的功能键是没有ASCII码的。
如果我想在输出窗口中输出与按键相对应的字符,那怎么办?
这时候,你可以使用String对象的fromCharCode函数将ASCII码转换成字符,如将上例的代码改成如下所示:
onClipEvent (keyDown) {
trace(String.fromCharCode(Key.getAscii()));
};
//意思就是说,当按下键盘的一个键,输出按下的这个键相对应的字符,当然除了功能键。
关于String对象的详细解释,大家可以查看动作面板的“对象”/“核心”目录下面。
最后给出实例原文件:方法4.fla
更多精彩
赞助商链接