flash AS3.0访问加载的SWF文件中的属性、方法以及类、库中的影片剪辑
生活随笔
收集整理的這篇文章主要介紹了
flash AS3.0访问加载的SWF文件中的属性、方法以及类、库中的影片剪辑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于FLASH,我們可以把任何的可視化元件都看成某個類文件的具體實例,包括swf文件。
我們可以把swf文件看成一個類的具體實例,而它里面擁有個個其他類的實例對象,例如:
我們新建一個loaded.fla文件,然后我們建立一個影片剪輯元件,你可以在它的內部做一些動畫處理,打開庫,單擊元件右建,選擇“鏈接”打開“鏈接屬性”,在類的輸入框里我們鍵入“MyClass”
這樣一來我們就可以把這個元件作為一個類--MyClass。也就是說我們可以通過new來構建這個元件的具體實例并顯示在舞臺,如:
var test:MyClass=new MyClass(); addChild(test);然而ApplicationDomain類能夠獲得swf文件的應用程序域,通過getDefinition方法可以從指定的應用程序域獲取一個公共定義。 該定義可以是一個類、一個命名空間或一個函數的定義,但是,訪問被加載的swf中的屬性和方法就不需要ApplicationDomain類,直接訪問即可。代碼如下
package {import flash.display.Loader;import flash.display.LoaderInfo;import flash.display.MovieClip;import flash.display.Sprite;import flash.events.Event;import flash.net.URLRequest;import flash.system.ApplicationDomain;/***@author hypo.chen*@E-mail 645338868@qq.com*@data 2015-9-10*/[SWF(width="1024",height="768",frameRate="60")]public class GetAppDomain extends Sprite{private var _lrd:Loader;private var _urlR:URLRequest;public function GetAppDomain(){init();}private function init():void{_urlR = new URLRequest("loaded.swf");_lrd = new Loader();_lrd.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaded);_lrd.load(_urlR);}private function onLoaded(e:Event):void{//直接訪問被加載的swf中的屬性和方法,但是定義的屬性和方法必須是publice.target.content.testFun();trace(e.target.content.testVar);//LoaderInfo對象承載載入swf文件的信息var swfTarget:LoaderInfo = e.target as LoaderInfo;var appDomain:ApplicationDomain = swfTarget.applicationDomain as ApplicationDomain;//訪問被加載的swf庫中鏈接的類var mcClass:Class = appDomain.getDefinition("MyClass") as Class;var mcA:MovieClip = (new mcClass()) as MovieClip;var mcB:MovieClip = (new mcClass()) as MovieClip;this.addChild(mcA);mcA.x = 100;mcA.y = 100;mcA.alpha = .5;this.addChild(mcB);mcB.x = 400;mcB.y = 100;//訪問被加載的swf庫中的文檔類var _test:Class = appDomain.getDefinition("Test") as Class;}} }loaded.fla文檔類代碼如下:
package {import flash.display.MovieClip;public class Test extends MovieClip{public var testVar:String = "testVar";public function Test (){// constructor codetrace("test")}public function testFun():void{trace("testFun");}}}轉載于:https://www.cnblogs.com/chen-mo/p/4798243.html
總結
以上是生活随笔為你收集整理的flash AS3.0访问加载的SWF文件中的属性、方法以及类、库中的影片剪辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows2008吃尽内存的解决办法
- 下一篇: 企业级监控工具Cacti安装配置全过程