Flash5ActionScript教程 四十五 |
||||
b>捕获按键技术 用户观看交互动画时,不仅使用鼠标,而且也会用键盘操作。因此,要设计复杂的交互动画,除了能够准确“感知”用户的鼠标位置外,还要能够捕获用户的按键。也就是说,除了掌握鼠标定位技术外,我们还必须掌握按键捕获技术。使用Flash5预定义的Key(键)对象的方法可以方便地检测用户的最后按键。Key对象不需要构造函数,要使用它的方法,直接调用该对象即可,如下所示: Key.getCode(); 使用预定义Key对象,可以获得按键的虚拟键码或ASCII码值:
键盘上每一个物理键都有一个虚拟键码(如左箭头键的虚拟键码是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 | 36 |
O | 79 | . | 110 | -- | -- | Left Arrow | 37 |
P | 80 | / | 111 | -- | -- | Up Arrow | 38 |
Q | 81 | -- | -- | -- | -- | Right Arrow | 39 |
R | 82 | -- | -- | -- | -- | Down Arrow | 40 |
S | 83 | -- | -- | -- | -- | Insert | 45 |
T | 84 | -- | -- | -- | -- | Delete | 46 |
U | 85 | -- | -- | -- | -- | Help | 47 |
V | 86 | -- | -- | -- | -- | Num Lock | 144 |
W | 87 | -- | -- | -- | ; : | 186 | |
X | 88 | -- | -- | -- | -- | = + | 187 |
Y | 89 | -- | -- | -- | -- | - _ | 189 |
Z | 90 | -- | -- | -- | -- | / ? | 191 |
0 | 48 | -- | -- | -- | -- | \Q ' | 192 |
1 | 49 | -- | -- | -- | -- | [ { | 219 |
2 | 50 | -- | -- | -- | -- | \ | | 220 |
3 | 51 | -- | -- | -- | -- | ] } | 221 |
4 | 52 | -- | -- | -- | -- | "" " | 222 |
5 | 53 | -- | -- | -- | -- | -- | -- |
6 | 54 | -- | -- | -- | -- | -- | -- |
7 | 55 | -- | -- | -- | -- | -- | -- |
8 | 56 | -- | -- | -- | -- | -- | -- |
9 | 57 | -- | -- | -- | -- | -- | -- |