夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> 技术辅导
FLASH AS教程:响应键盘事件的四种方法
夜鹰教程网 来源:www.yyjcw.com 日期:2016-11-9 20:46:02
响应键盘的方法作为AS中的一个重要组成部分,在如今已经越来越广泛的使用,尤其是在 FLASH游戏制作中,如果缺少了响应键盘的方法,那是不可能的,而响应键盘的方法主要的四种,分别是: 1、利用按钮进行检测 2、利用KEY对象 3、利用键盘侦听的方法 4、利用影

响应键盘的方法作为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)函数,那么按键动作将被忽略,这样的话,很多你想要的效果就会无法实现了。

另外,还有一个需要解决的问题就是,在某些游戏(如射击)中,我们需要按一次键就执行一次动作(发射一发子弹),即使长时间按住某个键不放也只能算作一次按键,而Key对象并不能区别是长时间按住同一个键还是快速地多次按键。

所以如果要解决这个问题,就需要用到键盘侦听的方法。你可以使用 “侦听器(listener)”来侦听键盘上的按键动作。

要使用侦听器之前,首先需要创建它,你可以使用如下所示的命令来告诉计算机你需要侦听某个事件。

复制链接 网友评论 收藏本文 关闭此页
上一条: Flash教程:加载外部文本文件的3种…  下一条: Flash摄像头游戏课件的设计原则
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
FLASH加载xml,txt,swf实例代码
Flash,Actionscript,AS延时执行语…
入门Flash CS3 ActionScript 3.0
播放器的制作方法
JavaScript控制Flash播放器的方法…
FLASH变量和作用域[这是一篇比较好…
用FLASH8.0轻松制作简易计算器
FLASH动画禁止右键菜单
FLASH AS教程:响应键盘事件的四种…
最常用的Flash语句(汇总)
Flash制作坦克游戏视频教程
创建FLEX自定义组件(1)
FLASH与ASP通信原理入门
Flash教程:加载外部文本文件的3种…
创建FLEX自定义组件(3)
  最近更新
在线考试系统
常见项目开发
学生公寓管理系统的设计与实现
校园电话查询系统设计与实现
校园机动车停车位申请系统的设计与…
C#支付宝接口集成服务
常见项目开发
常用UML建模工具
FLASH加载xml,txt,swf实例代码
视频教程卡住的解决办法
播放器的制作方法
常见定制系统开发
入门Flash CS3 ActionScript 3.0
flex code
Flex 开发架构渐变

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3