前面我们介绍了载入文件,我们经常要加载的可能就是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));
}
}
}
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));
}
}
}
下节继续!
(本教程如需转载请注明出处!)