Basic Command Line Interface

by milchreis
♥0 | Line 48 | Modified 2012-07-09 22:44:13 | MIT License
play

ActionScript3 source code

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

package 
{
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFieldType;
    
    import flash.events.KeyboardEvent;
    
    import flash.ui.Keyboard;
    
    import flash.display.Sprite;
    
    public class CommandLineInterface extends Sprite 
    {
        private var input:TextField;
        private var output:TextField;
        
        public function CommandLineInterface() 
        {
            buildInterface();
            
            input.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
        }
        
        private function parse (text:String):void
        {
            //do stuff with input here
            output.appendText("> " + text + "\n");
        }

        
        private function onKeyDown(e:KeyboardEvent):void
        {
            if (e.keyCode != Keyboard.ENTER) return;
            
            parse(input.text);
            
            output.scrollV = output.maxScrollV;
            input.text = "";
        }

        
        private function buildInterface():void
        {
            input= new TextField();
            input.border = true;
            input.multiline = false;
            input.type = TextFieldType.INPUT;
            input.height = input.textHeight;
            input.width = stage.stageWidth - 20;
            input.x = 10;
            input.y = stage.stageHeight - input.height - 20;
            addChild(input);
            
            output = new TextField();
            output.border = true;
            output.height = input.y - 20;
            output.width = input.width;
            output. x = output.y = 10;
            
            addChild(output);
            
        }

    }
}