第二章 ActionScript 3.0 动画基础Ⅱ[FL 基理译]
2009-05-30 12:08:54 来源:WEB开发网键码
通常人们并不关心一个键是否被按下,而是关心按下的是什么键。使用键盘事件处理有几种方法可以读取输入的信息。前面说到,一个事件处理程序可以由一个事件对象来触发,该对象包括触发这个事件的数据。在键盘事件中有两个相关的属性,事件所涉及的键:字符码(charCode)和键码(keyCode)。
字符码指按下的键所表示的真正字符。例如,用户按下”a”键,字符码就是”a”,如果用户同时又按着 shift 键,这样字符码就是”A”。
键码指按键所代表的数值。如果用户按下”a”键,它所对应的键码为 65,无论是否按着其它键。如果先按下Shift键后按下“a”键,那么会获得两个键盘事件,先是Shift(键码 16)后是 a(键码 65)。 Flash.ui.Keyboard 类同样也有一些属性是针对非字母键的,我们不需要把它们背下来。例如: Keyboard.SHIFT 等于16,当 Shift 键按下后,可以测试其是否等于 Keyboard.SHIFT。请本章的最后一段代码:
package {
import flash.display.Sprite;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class KeyCodes extends Sprite {
private var ball:Sprite;
public function KeyCodes() {
init();
}
private function init():void {
ball = new Sprite();
addChild(ball);
ball.graphics.beginFill(0xff0000);
ball.graphics.drawCircle(0, 0, 40);
ball.graphics.endFill();
ball.x = stage.stageWidth / 2;
ball.y = stage.stageHeight / 2;
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyboardEvent);
}
public function onKeyboardEvent(event:KeyboardEvent):void {
switch (event.keyCode) {
case Keyboard.UP :
ball.y -= 10;
break;
case Keyboard.DOWN :
ball.y += 10;
break;
case Keyboard.LEFT :
ball.x -= 10;
break;
case Keyboard.RIGHT :
ball.x += 10;
break;
default :
break;
}
}
}
}
当我们在 Flash 编辑环境下测试影片时,IDE会拦截用于控制 IDE 自身的键。Tab 键和所有功能键以及作为快捷菜单项的键,在测试影片时不会接收到。不过,我们可以在菜单中选择“控制” -> “禁用快捷键”,来解除限制。这样一来,测试的影片就像在浏览器中工作一样了。
Tags:第二章 ActionScript 动画
编辑录入:爽爽 [复制链接] [打 印]- ››ActionScript 2.0中的! 逻辑 NOT 运算符
- ››动画制作之&按位AND 运算符
- ››动画* 、*= 乘法赋值运算符
- ››ActionScript 3.0 性能方面优化小知识整理收集
- ››动画的前制与制程
- ››第二章 ActionScript 3.0 动画基础Ⅰ[FL 基理译]
- ››第二章 ActionScript 3.0 动画基础Ⅱ[FL 基理译]
- ››ActionScript中文本字段的透明度缓动
- ››ActionScript 3.0 Step By Step系列(一):工欲其善...
- ››ActionScript 3.0 Step By Step系列(二):建立扎实...
- ››ActionScript 3.0 Step By Step系列(三):学学流程...
- ››ActionScript 3.0 Step By Step系列(四):来自面向...
更多精彩
赞助商链接