快速业务通道

FLASH游戏制作基础:响应键盘的四种方法

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-09

  响应键盘的方法作为AS中的一个重要组成部分,在如今已经越来越广泛的使用,尤其是在 Flash游戏制作中,如果缺少了响应键盘的方法,那是不可能的,而响应键盘的方法主要的四种,分别是:   1、利用按钮进行检测
  2、利用KEY对象
  3、利用键盘侦听的方法
  4、利用影片剪辑的keyUp和keyDown事件来实现响应键盘   只有熟练掌握了这些方法,然后加以变通的话,就会得到很多意想不到的效果,下面我就结合理论和自己的想法简要的介绍一下。   第一种响应键盘的方法:利用按钮进行检测来实现响应键盘   在按钮的on事件处理函数中不但可以对鼠标事件作出响应,而且可以对键盘事件作出响应。 如在按钮的动作面板中加入如下所示的代码,在敲击键盘上的X键时输出窗口中将提示:X is pressed
在按钮上加上: on (keyPress "x") {
? trace("X is pressed");
}   但是要注意的是:检测键盘上的字母键时,字母都应为小写。如果要检测键盘中的特殊键, Flash中有一些专门的代码来表示它们,下面列出了一些常用的功能键的表示代码:
  如要检测键盘上的键,可以使用下面的ActionScript: on (keyPress "") {
? trace("Left is pressed");
}   另外,你可以在一个按钮中加入若干个on函数,也可以在一个on函数中结合多种事件,这使 您可以为按钮定义自己熟悉常用的快捷键,如下所示: on (release, keyPress "") {
? _root.myMC.prevFrame();
}
on (release, keyPress "") {
? _root.myMC.nextFrame();
}   上面的第一个语句实现单击按钮或按键盘上的左方向键,控制影片剪辑myMC回退1帧,而上面的第二个语句实现单击按钮或按键盘上的右方向键,控制影片剪辑myMC前进1帧。   最后给出实例源文件:下载   第二种响应键盘的方法:利用Key对象来实现响应键盘的操作   利用按钮检测按键动作很有效,但是并不利于检测持续按下的键,所以不适合于制作某些通过键盘控制的游戏。   这时,您就需要用到Key对象。Key对象包含在动作面板的“对象”/“影片”目录下面,它由Flash内置的一系列方法、常量和函数构成。使用Key对象可以检测某个键是否被按下,如要检测左方向键是否被按下,可以使用如下ActionScript:
if (Key.isDown(Key.LEFT)) {
? trace("The left arrow is down");
}   函数Key.isDown返回一个布尔值,当该数中的参数对应的键被按下时返回true,否则返回false。常量Key.LEFT代表键盘上的左方向键。当左方向键被按下时,该函数返回true。   Key对象中的常量代表了键盘上相应的键,下面列出了一些基本的常量:   一些功能键的表示: Key.BACKSPACE Key.ENTER Key.PGDN
Key.CAPSLOCK Key.ESCAPE Key.RIGHT
Key.CONTROL Key.HOME Key.SHIFT
Key.DELETEKEY Key.INSERT Key.SPACE
Key.DOWN Key.LEFT Key.TAB
Key.END Key.PGUP Key.UP   以上是键盘上的功能键,那么如何表示键盘上的字母键呢?
  Key对象提供了一个函数Key.getCode来实现这一功能,如下所示:
if (Key.isDown(Key.getCode("x"))) {
? trace("X is pressed");
}   上面脚本的意思就是,利用Key.getCode函数来告诉系统你是否按下了x键,如果按下了x键以后,函数Key.isDown则会返回true,在输出窗口就会输出X is pressed。   最后给出实例源文件:下载   第三种响应键盘的方法:利用键盘侦听的方法来实现响应键盘(个人习惯用这种方法)   假设在影片剪辑的onClipEvent(enterFrame)事件处理函数中检测按键动作,而影片剪辑所在的时间轴较长,或计算机运算速度较慢,就有可能出现这种情况:即当在键盘上按下某个键时还未来得及处理onClipEvent(enterFrame)函数,那么按键动作将被忽略,这样的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号