.
as2.0 玩家学习 as3.0
发现 as3.0 没有 as2.0 的 Key.isDown 感觉非常不方便
.
所以提供一个 Key.isDown 功能
.
创建一个 as3.0 类文件 .as 将以下代码复制并保存为 Key.as
将 Key.as 放在 .fla 同级目录下
.
Key.as 代码如下:
.
package
{
import flash.display.Stage;
import flash.events.KeyboardEvent;
public class Key
{
private static const keyCode: Object = {};
public static function init(stage: Stage): void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, downFn);
stage.addEventListener(KeyboardEvent.KEY_UP, upFn);
}
private static function downFn(e: KeyboardEvent): void
{
keyCode[e.keyCode] = true;
}
private static function upFn(e: KeyboardEvent): void
{
keyCode[e.keyCode] = false;
}
public static function isDown(value: uint): Boolean
{
return( !! keyCode[value]);
}
public function Key()
{
// constructor code
}
}
}
.
创建一个 .fla 文件 舞台上放一个 影片剪辑元件 实例名称 为 dd
点击关键帧打开动作面板,将以下代码复制到动作面板。
.
Key.init(stage);
// 启动 Key.isDown 功能(只需要执行 1 次)
.
stage.addEventListener(Event.ENTER_FRAME, updateFn);
//舞台注册帧频更新事件
.
function updateFn(e: Event): void
{
if(Key.isDown(65)) // 按下 A 键(65是A的键盘码)
{
dd.x -= 10; // dd 左移动 10为速度
}
if(Key.isDown(68)) // 按下 D 键(68是D的键盘码)
{
dd.x += 10; // dd 右移动 10为速度
}
}
.
导出 .swf 现在可以用 a、d控制 影片剪辑左右移动了
到此 Key.isDown 演示完成。
.
as2.0 玩家学习 as3.0
发现 as3.0 没有 as2.0 的 Key.isDown 感觉非常不方便
.
所以提供一个 Key.isDown 功能
.
创建一个 as3.0 类文件 .as 将以下代码复制并保存为 Key.as
将 Key.as 放在 .fla 同级目录下
.
Key.as 代码如下:
.
package
{
import flash.display.Stage;
import flash.events.KeyboardEvent;
public class Key
{
private static const keyCode: Object = {};
public static function init(stage: Stage): void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, downFn);
stage.addEventListener(KeyboardEvent.KEY_UP, upFn);
}
private static function downFn(e: KeyboardEvent): void
{
keyCode[e.keyCode] = true;
}
private static function upFn(e: KeyboardEvent): void
{
keyCode[e.keyCode] = false;
}
public static function isDown(value: uint): Boolean
{
return( !! keyCode[value]);
}
public function Key()
{
// constructor code
}
}
}
.
创建一个 .fla 文件 舞台上放一个 影片剪辑元件 实例名称 为 dd
点击关键帧打开动作面板,将以下代码复制到动作面板。
.
Key.init(stage);
// 启动 Key.isDown 功能(只需要执行 1 次)
.
stage.addEventListener(Event.ENTER_FRAME, updateFn);
//舞台注册帧频更新事件
.
function updateFn(e: Event): void
{
if(Key.isDown(65)) // 按下 A 键(65是A的键盘码)
{
dd.x -= 10; // dd 左移动 10为速度
}
if(Key.isDown(68)) // 按下 D 键(68是D的键盘码)
{
dd.x += 10; // dd 右移动 10为速度
}
}
.
导出 .swf 现在可以用 a、d控制 影片剪辑左右移动了
到此 Key.isDown 演示完成。
.