simple KeyBoard&Move

by satoru.net
自分用の基本ソース。
矢印キーで動けます。

debug用に_debug(String)。
♥0 | Line 55 | Modified 2010-09-05 02:36:23 | MIT License
play

ActionScript3 source code

/**
 * Copyright satoru.net ( http://wonderfl.net/user/satoru.net )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/fJz3
 */

package {
    import fl.controls.*;
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import flash.utils.*;
    import flash.ui.*;
    import flash.system.*;
    [SWF(width=450, height=450, backgroundColor=0x000000)]   
    public class main extends MovieClip {

        public var hero:Sprite = new Sprite();
        public var debug:TextField = new TextField();

        public function main(){
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        public function init(e:Event = null):void{
            setupHero();
            setupTrace();
            setupKey();
            _trace("start! 矢印キーで移動。");
        }
        
        public function keyDownHandler(e:KeyboardEvent):void {
            switch(e.keyCode){
                case Keyboard.UP   : hero.y -= 10; break;
                case Keyboard.DOWN : hero.y += 10; break;
                case Keyboard.LEFT : hero.x -= 10; break;
                case Keyboard.RIGHT: hero.x += 10; break;
            }

            _trace("code:" + e.keyCode + " X:" + hero.x + " Y:" + hero.y);

        }
        
        public function setupKey():void {
            stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
        }
        
        public function setupHero():void {
            addChild(hero);
            var gr:Graphics = hero.graphics;
            gr.beginFill(0xFFFFFF);
            gr.drawRect(0, 0, 10, 10);            
        }
        
        // Traceスペース描画
        public function setupTrace():void {
            addChild(debug);
            debug.y = 100;
            debug.border = true;
            debug.width = 300;
            debug.wordWrap = true;
            debug.background = true;
            debug.backgroundColor = 0xDDDDDD;
            debug.alpha = .8;
        }
        
        public function _trace(str:String):void {
            debug.text = str + "\n" + debug.text;
        }
        
    }
}