[AS3.0]一步一步学ActionScript 3.0(十五)

本文介绍如何在Flash中创建并加载共享SWF资源库,通过实例演示如何将元件打包成SWF文件,并在主文件中加载使用这些元件,以此减少主文件大小并实现元件复用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面我们介绍了载入文件,我们经常要加载的可能就是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));
        }
    
    }
}

 

下节继续!

 

(本教程如需转载请注明出处!)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值