-
Notifications
You must be signed in to change notification settings - Fork 2
/
Weapon_FourDirections.as
75 lines (73 loc) · 1.7 KB
/
Weapon_FourDirections.as
1
package { import flash.display.MovieClip; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.events.Event; public class Weapon_FourDirections extends MovieClip { private var _isArmed:Boolean; private var _direction:String; public function Weapon_FourDirections() { addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } private function onAddedToStage(event:Event):void { _isArmed = false; _direction = "up"; stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage) addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function onRemovedFromStage(event:Event):void { removeEventListener(Event.ENTER_FRAME, onEnterFrame); removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); } private function onKeyDown(event:KeyboardEvent):void { if (event.keyCode == Keyboard.SPACE) { shootBullet(); } if (event.keyCode == Keyboard.LEFT) { _direction = "left"; } else if (event.keyCode == Keyboard.RIGHT) { _direction = "right"; } else if (event.keyCode == Keyboard.UP) { _direction = "up"; } else if (event.keyCode == Keyboard.DOWN) { _direction = "down"; } } private function shootBullet():void { if (_isArmed) { parent.addChild(new Bullet_FourDirections(_direction)); } } private function onEnterFrame(event:Event):void { rotation += 2; } //Getters and setters public function get isArmed():Boolean { return _isArmed; } public function set isArmed(weaponState:Boolean) { _isArmed = weaponState; } }}