前面我们介绍了载入文件,我们经常要加载的可能就是SWF文件了,我们在实际使用中还会把SWF文件作为共享资源库 ,就是把一些元件放到一个SWF文件里,这样只要加载它的文件都可以使用它的库里面的元件,这样做的好处在于我们可以使主文件更小一点,当多个文件使用相同的元件时,就可以共用了。 先建一个FLA文件,在库里面建几个元件 ,这里我们建一个MC,一个Button,然后导出,MC我们起名叫MyMc,Button我们起名叫MyBtn,FLA文件叫library,发布生成一个library.swf文件。 再来建立主文件,建一个FLA文件,起名叫:loadLibrary,再来建立一个文档类MainForm.as: package net.smilecn.loadLibrary{ import flash.display.Sprite; import flash.display.MovieClip; import flash.display.SimpleButton; import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; public class MainForm extends Sprite{ private var loader:Loader; private var myMc:MovieClip; private var myBtn:SimpleButton; public function MainForm(){ loader = new Loader(); loader.load(new URLRequest("library.swf")); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); } public function completeHandler(event:Event){ myMc = getLibMc("MyMc"); addChild(myMc); myBtn = getLibBtn("MyBtn"); addChild(myBtn); myBtn.x=100; myBtn.y=100; } public function getLibMc(name:String):MovieClip{ var classReference = (loader.contentLoaderInfo.applicationDomain.getDefinition(name)as Class); return ((new (classReference) as MovieClip)); } public function getLibBtn(name:String):SimpleButton{ var classReference = (loader.contentLoaderInfo.applicationDomain.getDefinition(name) as Class); return ((new (classReference) as SimpleButton)); } } } |