当前位置导航:炫浪网>>网络学院>>在线图书>>图形图像教程>>Flash入门与实战>>第七章 动作脚本进阶

第二节 键盘控制(1)

当你需要通过键盘和动画产生交互时,比如,利用方向键控制游戏中的角色,就需要借助键盘(Key)对象获取按键的内容,然后利用Key对象的方法控制动画。本节将详细讲解Key对象并通过几个实例讨论通过Key对象在动画中产生键盘交互的方法。


1.键盘对象的方法详解

Key对象包括以下6种常用的方法:

(1)Key.getAscii()

语法:Key.getAscii();

功能:返回最近被按下或松开的按键所代表的ASCII值。

通过Key.getAscii()方法可精确地传回字符值。当键盘上有键被按下时,该按键会对应到一个ASCII码,例如,字母A键对应的ASCII值为97,你可以通过Key.getAscii()方法返回该按键对应的ASCII值。

(2)key.getCode()

语法:key.getCode();

功能:返回最近被按下或松开的按键的对应码。

如果你只想知道用户是否按下某个键而不理会它的ASCII值,那么,key.getCode()最适合你用。Flash替每个按键都赋予一个对应码,例如,按键A的对应码是65,按键Shift的对应码是16。key.getCode()的返回值就是这些按键的对应码。在Flash的帮助文档中可以查到关于按键对应码的详细信息。

Flash事先定义了一组常量(Key对象的属性)来存储一些常用键按键的对应码,例如常量Key.SPACE就等于32,因此当你需要在程序中应用这些按键时,可以直接使用这些常量,而不必再查阅它们的按键对应码。下面是一些按键常量的名称和意义,如表7-2-1所示。

 

表7-2-1

 

属性(按键常量)

意义

Key.BACKSPACE

与 Backspace 键的键控代码值 (8) 关联的常量。

Key.CAPSLOCK

与 Caps Lock 键的键控代码值 (20) 关联的常量。

Key.CONTROL

与 Ctrl 键的键控代码值 (17) 关联的常量。

Key.DELETEKEY

与 Delete 键的键控代码值 (46) 关联的常量。

Key.DOWN

与向下箭头键的键控代码值 (40) 关联的常量。

Key.END

与 End 键的键控代码值 (35) 关联的常量。

Key.ENTER

与 Enter 键的键控代码值 (13) 关联的常量。

Key.ESCAPE

与 Escape 键的键控代码值 (27) 关联的常量。

Key.HOME

与 Home 键的键控代码值 (36) 关联的常量。

Key.INSERT

与 Insert 键的键控代码值 (45) 关联的常量。

Key.LEFT

与左箭头键的键控代码值 (37) 关联的常量。 

Key.PGDN

与 Page Down 键的键控代码值 (34) 关联的常量。

Key.PGUP

与 Page Up 键的键控代码值 (33) 关联的常量。

Key.RIGHT

与右箭头键的键控代码值 (39) 关联的常量。

Key.SHIFT

与 Shift 键的键控代码值 (16) 关联的常量。

Key.SPACE

与空格键的键控代码值 (32) 关联的常量。

Key.TAB

与 Tab 键的键控代码值 (9) 关联的常量。

Key.UP

与向上箭头键的键控代码值 (38) 关联的常量。

 

 

(3)key.isDown()

语法:key.isDown(keyCode);

功能:侦测键盘上指定的按键是否被按下,如果返回值为true则表示被按下。

KeyCode可以是按键对应码,也可以是如7-2-1所示的按键常量。

(4)key.isToggled()

语法:key.isToggled(keyCode);

功能:侦测键盘上的Caps Lock或Num Lock的指示灯是否亮着。

例如:

onClipEvent(enterFrame){

if(key.isToggled(144){

     this.stop();

}

}

上面这段动作脚本的功能是,当键盘上的Num Lock指示灯是亮着时,影片对象动画停止。

(5)key.addListener()

语法:key.addListener(实例名);

功能:将某个对象赋予响应按键事件功能,实例名可以是指定的按钮、影片剪辑(包括_root)、文字字段甚至是自定义对象的实例名称。

除了按钮和影片剪辑可以接收键盘事件外,对于那些无法接收除了按键信息的对象,例如,自定义对象和文字字段对象等,都可以利用key.addListener()方法赋予它们接收和处理按键信息的能力。Key对象提供onKeyDown和onKeyUp两个事件处理程序,让通过key.addListener()方法指定响应Key事件的实例使用。

(6)key.removeListener()

语法:key.removeListener(实例名);

功能:取消指定实例响应Key事件的功能。

 

相关内容
赞助商链接