⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sampleloadswf.as

📁 《Flash AS3殿堂之路》光盘源码 学习ActionScript 3.0
💻 AS
字号:
package org.kingda.book.display
{
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.system.ApplicationDomain;
	import flash.display.LoaderInfo;

	public class SampleLoadSWF extends Sprite
	{
		private const FILE_PATH:String = "fla/MotionXML.swf";
		private const CLASS_NAME:String = "Ball";
		
		private var loader:Loader;
		private var request:URLRequest;
		public function SampleLoadSWF() {
			loader = new Loader();
			request = new URLRequest(FILE_PATH);
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
			loader.load(request);
		}
		
		private function onComplete (event:Event):void {
			var loadedSWFInfo:LoaderInfo = event.target as LoaderInfo;			
			var domain:ApplicationDomain = loadedSWFInfo.applicationDomain as ApplicationDomain;
			//从加载的SWF域中提取类定义
			var BallClass:Class = domain.getDefinition (CLASS_NAME) as Class;
			var ballA:MovieClip  = (new BallClass()) as MovieClip;
			var ballB:MovieClip  = (new BallClass()) as MovieClip;
			ballA.x = 0,ballA.y = 100;
			ballB.x = 100, ballB.y = 100;
			ballB.scaleX = 2;
			addChild (ballA);
			addChild (ballB);
			
			var loadedSWF:MovieClip = loadedSWFInfo.content as MovieClip;
			trace(loadedSWF == loader.content);
			//输出:true 
			//表明contentLoaderInfo.content与loader.content确实一样,指向被加载SWF主类对象
			trace (loadedSWF.welcomeString);
			//输出:哈哈,你访问到被加载的SWF脚本了。
			//这说明访问到了MotionXML.swf主时间轴定义的 var welcomeString
			//同理,也可访问其他子显示对象或其他脚本也是
			addChild(loadedSWF); //将加载的SWF对象加入显示列表,这是才会在屏幕显示出来。			
		}		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -