採用事件相應實現的簡單畫圖程式

來源:互聯網
上載者:User
package ...{
    /**//**
     * 採用事件相應實現的簡單畫圖程式
     * 
     * */
    import flash.display.Sprite;
    import flash.display.StageScaleMode;
    import flash.display.StageAlign;
    import flash.events.MouseEvent;
    
    import flash.events.KeyboardEvent;
    import flash.text.TextField;
    import flash.system.System;
    import flash.system.Capabilities;
    import flash.net.FileReference;

    public class ASProject extends Sprite
    ...{
        private var _sprite:Sprite;
        public function ASProject()
        ...{
            
            Initialize();
            showInfo();
            stage.scaleMode=StageScaleMode.NO_SCALE;
            stage.align=StageAlign.TOP_RIGHT;
            stage.showDefaultContextMenu=false;
            
            graphics.beginFill(0xffffff);
            graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
            graphics.endFill();
            
            /**//*瀏覽本地檔案*/
            var fileReference:FileReference=new FileReference();
            fileReference.browse();
        }
        
        public function showInfo():void
        ...{
            /**//*顯示本地系統資訊*/
            var txt:TextField=new TextField();
            var osInfo:String="OS:"+Capabilities.os;
            txt.text=osInfo;
            addChild(txt);
            txt.appendText(" Version:"+Capabilities.version+" Language:"+Capabilities.language
            +" Manufacturer:"+Capabilities.manufacturer);
            
        }
        public function Initialize():void
        ...{
            stage.focus=this;
            addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
            _sprite=new Sprite();
            addChild(_sprite);
        }
        
        public function Draw():void
        ...{
            _sprite.graphics.beginFill(0xffffff);
            _sprite.graphics.drawRect(0,0,400,400);
            _sprite.graphics.endFill();        
            _sprite.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
            _sprite.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);

        }
        /**//*
        private function onEnterFrame(event:Event):void
        {
            graphics.lineTo(Math.random()*400,Math.random()*400);
        }
        */
        private function onKeyDown(event:KeyboardEvent):void
        ...{
            trace("Key down:"+event.charCode);
        }
        private function onMouseDown(event:MouseEvent):void
        ...{
            _sprite.graphics.lineStyle(1,0,1);
            _sprite.graphics.moveTo(mouseX,mouseY);
            _sprite.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
            
        }
        private function onMouseMove(event:MouseEvent):void
        ...{
            _sprite.graphics.lineTo(mouseX,mouseY);
            
        }
        private function onMouseUp(event:MouseEvent):void
        ...{
            _sprite.removeEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
        }
    }
}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.