重写preloader

package
{
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.ProgressEvent;
    import flash.text.TextField;
   
    import mx.events.FlexEvent;
    import mx.preloaders.IPreloaderDisplay;
    import mx.preloaders.Preloader;

    public class MyPreloader extends Sprite implements IPreloaderDisplay
    {
        [Embed(source="loading_animations_2.swf", symbol="circle_in_circle_stage4")]
        private var LoaderMC:Class;
        private var _loader_mc:MovieClip;
        private var _txt:TextField;
       

        private var _preloader:Preloader;

        public function MyPreloader()
        {
            super();
            this._loader_mc=new LoaderMC()
            this.addChild(this._loader_mc);
            this._txt = new TextField();
            this.addChild(_txt);

        }

        public function get backgroundAlpha():Number
        {
            return 0;
        }

        public function set backgroundAlpha(value:Number):void
        {
        }

        public function get backgroundColor():uint
        {
            return 0;
        }

        public function set backgroundColor(value:uint):void
        {
        }

        public function get backgroundImage():Object
        {
            return null;
        }

        public function set backgroundImage(value:Object):void
        {
        }

        public function get backgroundSize():String
        {
            return null;
        }

        public function set backgroundSize(value:String):void
        {
        }

        public function set preloader(obj:Sprite):void
        {
            _preloader=obj as Preloader;
            _preloader.addEventListener(ProgressEvent.PROGRESS, progressEventHandler);
            _preloader.addEventListener(FlexEvent.INIT_COMPLETE, initCompleteEventHandler);
        }

        public function get stageHeight():Number
        {
            return 0;
        }

        public function set stageHeight(value:Number):void
        {
        }

        public function get stageWidth():Number
        {
            return 0;
        }

        public function set stageWidth(value:Number):void
        {
        }

        public function initialize():void
        {
            _loader_mc.x=stage.stageWidth / 2 - _loader_mc.width / 2;
            _loader_mc.y=stage.stageHeight / 2 - _loader_mc.height / 2;
           
            _txt.x = stage.stageWidth / 2 - _loader_mc.width / 2;
            _txt.y = stage.stageHeight / 2 - _loader_mc.height / 2 + 30;
        }

        private function progressEventHandler(eo:ProgressEvent):void
        {
            _txt.text=Math.round((eo.bytesLoaded / eo.bytesTotal) * 100) + " %";
        }

        private function initCompleteEventHandler(eo:FlexEvent):void
        {
            dispatchEvent(new Event(Event.COMPLETE));
        }


    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值