home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mobiclic 150
/
MOBICLIC150.ISO
/
pc
/
DATA
/
DSS150
/
DSS150_04
/
DSS150_04.swf
/
scripts
/
dss150_04
/
KeyDetecter.as
< prev
next >
Wrap
Text File
|
2012-12-19
|
2KB
|
88 lines
package dss150_04
{
import com.milanpresse.engineaddons.facades.GameEngine;
import com.milanpresse.engineaddons.gamesprotos.Actor;
import flash.events.KeyboardEvent;
public class KeyDetecter extends Actor
{
protected var _enabled:Boolean = false;
public var actions:Object;
public var keyToAction:Object;
public function KeyDetecter(game:GameEngine, params:*)
{
this.actions = {
"left":false,
"up":false,
"right":false,
"down":false
};
this.keyToAction = {
37:"left",
38:"up",
39:"right",
40:"down"
};
super(game,null,params);
this.stage = params.stage;
}
public static function create(game:GameEngine, params:*) : KeyDetecter
{
return new KeyDetecter(game,params);
}
public function actionReset() : void
{
this.actions = {
"left":false,
"up":false,
"right":false,
"down":false
};
}
private function keyDownHandler(event:KeyboardEvent) : void
{
this.actions[this.keyToAction[event.keyCode]] = true;
}
private function keyUpHandler(event:KeyboardEvent) : void
{
this.actions[this.keyToAction[event.keyCode]] = false;
}
public function set enabled(value:Boolean) : void
{
if(value == this._enabled)
{
return;
}
this._enabled = value;
if(this._enabled)
{
stage.focus = stage;
stage.addEventListener(KeyboardEvent.KEY_DOWN,this.keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP,this.keyUpHandler);
}
else
{
stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.keyDownHandler);
stage.removeEventListener(KeyboardEvent.KEY_UP,this.keyUpHandler);
}
}
override protected function _destroy() : void
{
stage.removeEventListener(KeyboardEvent.KEY_DOWN,this.keyDownHandler);
stage.removeEventListener(KeyboardEvent.KEY_UP,this.keyUpHandler);
super._destroy();
}
}
}