FLASH游戏制作基础:响应键盘的四种方法
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-09
话,很多你想要的效果就会无法实现了。 另外,还有一个需要解决的问题就是,在某些游戏(如射击)中,我们需要按一次键就执行一次动作(发射一发子弹),即使长时间按住某个键不放也只能算作一次按键,而Key对象并不能区别是长时间按住同一个键还是快速地多次按键。 所以如果要解决这个问题,就需要用到键盘侦听的方法。你可以使用 “侦听器(listener)”来侦听键盘上的按键动作。 要使用侦听器之前,首先需要创建它,你可以使用如下所示的命令来告诉计算机你需要侦听某个事件: Key.addListener(_root); Key.addListener命令将 主时间轴 或 某个影片剪辑 作为它的参数,当侦听的事件发生时,可以用这个参数指定的对象来响应该事件。 上面的代码指定主时间轴来响应该事件。要让主时间轴对该事件作出响应,还需要设置一个相应的事件处理函数,否则设置侦听器就没有什么意义了。 键盘侦听的事件处理函数有两个: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,一个是主时间轴。 最后给出实例源文件:下载 第四种响应键盘的方法:利用影片剪辑的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对象的详细解释,大家可以查看动作面板的“对象”/“核心”目录下面。 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Flash MX 2004精彩特效下一篇: 进入Flash MX组件时代之四 组件的衍生
关于FLASH游戏制作基础:响应键盘的四种方法的所有评论