当前位置:软件学习 > Flash >>

Flash5ActionScript教程 四十五

b>捕获按键技术

  用户观看交互动画时,不仅使用鼠标,而且也会用键盘操作。因此,要设计复杂的交互动画,除了能够准确“感知”用户的鼠标位置外,还要能够捕获用户的按键。也就是说,除了掌握鼠标定位技术外,我们还必须掌握按键捕获技术。使用Flash5预定义的Key(键)对象的方法可以方便地检测用户的最后按键。Key对象不需要构造函数,要使用它的方法,直接调用该对象即可,如下所示:
Key.getCode();
  使用预定义Key对象,可以获得按键的虚拟键码或ASCII码值:
要获得最后按键的虚拟键码,使用Key对象的getCode方法。
要获得最后按键的ASCII码值,使用Key对象的getAscii方法。

  键盘上每一个物理键都有一个虚拟键码(如左箭头键的虚拟键码是37)。使用虚拟键码,可以确保动画的控制在每一种键盘上都是相同的。

  ASCII(美国信息交换用标准代码)码值被分配给每个字符集的前127个字符。ASCII 码值提供的是屏幕上每一种字符的信息。例如,字母“A”和字母“a”拥有不同的ASCII码值。

  Key.getCode方法常用在onClipEvent事件处理程序中。把keyDown作为参数传递给事件处理程序,该事件处理程序即指令动作脚本,仅当真正按下了某个键时才检查最后按键的值。下面这个动画使用Key.getCode创建太空船的导航控制 6 在工具箱Actions类型中双击if动作。 7 在Condition(条件)参数框中单击,在工具箱列表中选择Objects(对象),然后选择Key,双击getCode。
8 在工具箱Operators(操作符)类型中双击相等操作符(==) 。
9 在相等操作符右边输入虚拟键码(本例输入32)。
得到的代码应该如下所示:
onClipEvent(keyDown) {
if (Key.getCode() == 32) {
}
}
10 为设置的按键选择一个要执行的动作(例如,设置当空格键(32)被按下时执行跳转到下一帧动作)。
得到的代码应该如下所示:
onClipEvent(keyDown) {
if (Key.getCode() == 32) {
nextFrame();
} }

附录:键盘键与虚拟键码对照表
字母和数字键
数字小键盘的键
功能键
其它键
键码 键码 键码 键码
A 65 0 96 F1 112 Backspace 8
B 66 1 97 F2 113 Tab 9
C 67 2 98 F3 114 Clear 12
D 68 3 99 F4 115 Enter 13
E 69 4 100 F5 116 Shift 16
F 70 5 101 F6 117 Control 17
G 71 6 102 F7 118 Alt 18
H 72 7 103 F8 119 Caps Lock 20
I 73 8 104 F9 120 Esc 27
J 74 9 105 F10 121 Spacebar 32
K 75 * 106 F11 122 Page Up 33
L 76 + 107 F12 123 Page Down 34
M 77 Enter 108 -- -- End 35
N 78 - 109 -- -- Home
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,