• URLStream加载美术资源


    package 
    {
    	//import com.demonsters.debugger.MonsterDebugger;
    
    	import flash.display.Loader;
    	import flash.display.LoaderInfo;
    	import flash.display.Sprite;
    	import flash.events.Event;
    	import flash.events.ProgressEvent;
    	import flash.net.URLRequest;
    	import flash.net.URLStream;
    	import flash.system.ApplicationDomain;
    	import flash.system.LoaderContext;
    	import flash.system.Security;
    	import flash.utils.ByteArray;
    
    	public class Preloader extends Sprite
    	{
    		private var bytes:ByteArray;
    
    		public function Preloader()
    		{
    			Security.allowDomain("*");
    			Security.allowInsecureDomain("*");
    
    			//MonsterDebugger.initialize(this);
    			//MonsterDebugger.trace(this, "Hello World!");
    
    			//var gameMain:GameMain = new GameMain();
    			//addChild(gameMain);
    
    			load();
    		}
    
    		private function load():void
    		{
    			var stream:URLStream = new URLStream();
    			stream.addEventListener(ProgressEvent.PROGRESS, this.onAssetProgress);
    			stream.addEventListener(Event.COMPLETE, this.onAssetComplete);
    			var req:URLRequest = new URLRequest();
    			req.url = "Main.swf";
    			stream.load(req);
    		}
    		protected function onAssetProgress(e:ProgressEvent):void
    		{
    			trace("e.bytesLoaded:"+e.bytesLoaded + "e.bytesTotal:"+e.bytesTotal);
    		}
    		protected function onAssetComplete(e:Event):void
    		{
    			var stream:URLStream = (e.currentTarget as URLStream);
    			bytes = new ByteArray();
    			stream.readBytes(bytes);
    
    			loadBytesHs();
    		}
    
    		public function loadBytesHs():Loader
    		{
    			var loader:Loader = new Loader();
    			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onModuleComplete);
    			this.addChild(loader);
    			if (bytes != null)
    			{
    				var $loadercontext:LoaderContext = new LoaderContext(false);
    				$loadercontext.applicationDomain = ApplicationDomain.currentDomain;
    
    				/*//flash 10.0兼容
    				if($loadercontext.hasOwnProperty("allowCodeImport"))
    				{
    					$loadercontext["allowCodeImport"]=true;
    				}*/
    				loader.loadBytes(bytes, $loadercontext);
    			}
    			return (loader);
    		}
    
    		protected function onModuleComplete(e:Event):void
    		{
    			var loaderInfo:LoaderInfo = (e.currentTarget as LoaderInfo);
    			if (loaderInfo.hasEventListener(Event.COMPLETE))
    			{
    				loaderInfo.removeEventListener(Event.COMPLETE, this.onModuleComplete);
    			}
    		}
    	}
    }
    

      

  • 相关阅读:
    FATFS 初学之 f_open/ f_close
    前端JQuery(二)
    前端JQuery(一)
    8.22MySQL(五)pymysql模块、sql注入问题
    8.21MySQL(四)基本查询语句及方法、连表、子查询
    8.20MySQL(三)外键
    8.19MySQL(二)
    8.16MySQL(一)
    8.15并发编程(四)
    8.14并发编程(三)
  • 原文地址:https://www.cnblogs.com/602147629/p/2864576.html
Copyright © 2020-2023  润新知