最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
as定义键盘按键动作
时间:2022-07-02 17:14:22 编辑:袖梨 来源:一聚教程网
/**
* 键盘控制类
* 把键盘按键动作,一般用于游戏。作者:飞雨影
* 用法:Control.initStage(stage),初始化舞台;Control.addListener(function),添加listener;
* 改变控制设置:Control.changeControl(array);array为设置的keyCode
*/
package
{
import .display.Stage;
import flash.events.KeyboardEvent;
import flash.events.EventDispatcher;
import flash.events.Event;
public class Control
{
/**
* state为按钮状态,是否按下 isDown来得到状态
* controlKeyCode 为按钮控制设置数组,
* 默认为 w=上,s=下,a=左,d=下,u,i,j,k为四个动作按钮
*/
static private var state: Array = new Array(),controlKeyCode:Array=new Array(87,83,65,68,85,73,74,75);
static private var controlKey:Array=new Array(),controlName:Array=new Array('上','下','左','右','轻拳','重拳','轻脚','重脚');
static private var eventDispatcher:EventDispatcher=new EventDispatcher();
static public function initStage( stage:Stage ): void
{
var len:uint=controlKeyCode.length;
for(var i:uint=0;i
controlKey[controlKeyCode[i]]=controlName[i];
}
stage.addEventListener( KeyboardEvent.KEY_DOWN, onKeyDown );
stage.addEventListener( KeyboardEvent.KEY_UP, onKeyUp );
}
static public function isDown( code: uint ): Boolean
{
return state[ code ] == true;
}
static public function changeControl(keyCode:Array):void
{
controlKeyCode = keyCode;
}
static public function addListener(listener:Function):void
{
var len:uint=controlKeyCode.length;
for(var i:uint=0;i
eventDispatcher.addEventListener(controlName[i],listener);
eventDispatcher.addEventListener(controlName[i]+'release',listener);
}
}
static private function onKeyDown( event: KeyboardEvent ): void
{
var code:uint=event.keyCode
if(!isDown(code))
{
state[ code ] = true;
//trace( code,"按下");
if(controlKey[code])eventDispatcher.dispatchEvent(new Event(controlKey[code]));
}
}
static private function onKeyUp( event: KeyboardEvent ): void
{
var code:uint=event.keyCode
state[ event.keyCode ] = false;
//trace(event.keyCode,'释放')
if(controlKey[code])eventDispatcher.dispatchEvent(new Event(controlKey[code]+"release"));
}
}
}
相关文章
- 燕云十六声裂石威100版本词条选什么-燕云十六声裂石威100版本词条推荐 10-21
- 崩坏因缘精灵柯哒基技能是什么 柯哒基技能介绍一览 10-21
- 荒野起源森林地图在哪里 森林地图位置一览 10-21
- 源序空间新手阵容怎么搭配 新手阵容搭配攻略 10-21
- 异环海囚怎么打 海囚打法教学 10-21
- 异环治安所怎么玩 治安所玩法介绍 10-21