用于加载和预加载外部闪存或图像的公共类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于加载和预加载外部闪存或图像的公共类相关的知识,希望对你有一定的参考价值。
See also: http://code.google.com/p/undolibrary/
/** * Common class for loading an external flash or image * * @class UndoLoader * @author Giovambattista Fazioli <[email protected]> * @web http://www.undolog.com * @version 1.0 * */ import flash.display.*; import flash.events.*; import flash.text.*; import flash.net.*; import flash.system.*; // public class UndoLoader extends MovieClip { private var _preloader:Preloader; private var _loader:Loader; private var _bar:MovieClip; private var _perc:TextField; /** * Class constructor * * @param void * @return void */ public function UndoLoader() { stage.scaleMode = StageScaleMode.NO_SCALE stage.align = StageAlign.TOP_LEFT; addEventListener( Event.ADDED_TO_STAGE, init ); } /** * Init bar and content. Trigged when added to stage * * @param {event} e Passed from addEventListener(). Can be null * @return void * @private */ private function init(e:Event = null):void { initBar(); loadContent(); } /** * Create the preloader movie and init it. * * @param void * @return void * @private */ private function initBar():void { _preloader = new Preloader(); _bar = _preloader.bar; _bar.scaleX = 0; _perc = _preloader.perc; _perc.text = '0%'; _preloader.x = (stage.stageWidth - _preloader.width)/2; _preloader.y = (stage.stageHeight - _preloader.height)/2; addChild( _preloader ); } /** * Creare a Loader() object and init PROGRESS and COMPLETE event * * @param void * @return void * @private */ private function loadContent():void { _loader = new Loader(); _loader.contentLoaderInfo.addEventListener( ProgressEvent.PROGRESS, inProgress ); _loader.contentLoaderInfo.addEventListener( Event.COMPLETE, onComplete ); _loader.load( new URLRequest( this.loaderInfo.parameters.filename ) ); addChild( _loader ); } /** * Trigged when loading in progress. Move the progress bar and set * the text string * * @param {ProgressEvent} e ProgressEvent * @return void * @private */ private function inProgress(e:ProgressEvent = null):void { var p:Number = Math.floor( (e.bytesLoaded / e.bytesTotal)*100 ); _perc.text = p + '%'; _bar.scaleX = p/100; } /** * Trigged when loading is finished. Remove the preloader movie * from the stage. Get the framerate from loaded movie and set * framerate to main movie. * * @param {Event} e Event * @return void * @private */ private function onComplete(e:Event = null):void { stage.frameRate = _loader.contentLoaderInfo.frameRate; removeChild( _preloader ); } }
以上是关于用于加载和预加载外部闪存或图像的公共类的主要内容,如果未能解决你的问题,请参考以下文章