Flash共享资源加载
来源:互联网 发布:经济数据日历 编辑:程序博客网 时间:2024/06/06 22:26
http://www.cnblogs.com/captain2011/archive/2011/08/13/2137477.html
Flash共享资源加载
Flash多人开发的时候,常常需要把ui资源分成多个fla文件,若这些fla文件需要用到的很多相同的元件,就要考虑到资源重复利用的问题了。
假设你建了个comm.fla的文件,里面有个元件叫P03_07,你要在其他fla文件中都能使用。Ctrl+C和Ctrl+V这种方式我们就不考虑了,这对维护来说是一个灾难,要是你在100个fla中都用了这个元件,一改就要到100个fla文件中去一个个改,显然非常麻烦。
我们用另一种方法。
首先打开comm.fla文件,新建一个叫“元件1”的影片剪辑,设置该元件的属性,“为Actionscript导出”打上勾,类名写上mytest,url写成comm.swf。
然后在comm.fla下新建一个test.fla文件,在共享栏的“为运行时共享导入”打上勾,url跟上面一样写上comm.swf,然后点击浏览按钮,找到comm.fla,选中刚才新建元件。点确定按钮。再重新打开这个元件的属性面板,即使刚才你为该元件的类命名了,flash还是会自动把这个类名设置成你所导入的那个元件的类名。
这两步完了之后分别给这两个fla文件生成swf文件,将生成的swf文件放在同一文件夹下。
下面进行代码测试。加载test.swf文件并获取comm.swf中的元件:
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
loader.load(new URLRequest("test.swf"),new LoaderContext(false,ApplicationDomain.currentDomain));
}
private function onComplete(e:Event):void
{
var cls:Class = loader.contentLoaderInfo.applicationDomain.getDefinition('mytest') as Class;
var mc:MovieClip = new cls();// as MovieClip;
trace('mc' + mc);
addChild(mc);
}
这样comm.fla中的元件在其他任何fla文件中都可以使用,要修改也只用改comm.fla一个文件,重新发布即可。另外还有一点需要说明的是如果comm.fla中的元件在其他fla文件中被放到场景上,并且为该元件指定了名称,需要为comm的共享元件手动写一个类,比如上面的comm.fla中的mytest元件,要写这样一个类:
{
import flash.display.MovieClip;
/**
* ...
* @author dragonWorrior
*/
public class mytest extends MovieClip
{
public function mytest()
{
}
}
}
有点麻烦,但也是举手之劳而已。
- Flash共享资源加载
- 共享资源
- 共享资源
- 共享资源
- 动态加载加载FLASH.
- flash加载图片代码
- flash加载html代码
- flash加载外部图片
- 动态制作加载flash
- Flash 动态加载字体
- Flash加载进度条
- QT 中加载 Flash
- openscales flex 加载flash
- 网页加载Flash动画
- js判断flash加载
- 用Qt加载Flash
- Flash加载ini文件!
- CEF 加载flash 插件
- 50个不得不看的JS技巧
- vmalloc设计的思考
- Android S5PV210 fimc驱动分析 - fimc_capture.c
- Android Activity管理之Activity栈
- Extjs4 treePanel + checkbox 级联选中
- Flash共享资源加载
- 输入法 浏览器 黑屏 没有解决不了的问题,只是你的方法不对
- android textview和edittext中插入表情
- SQL创建索引
- WINCE6.0 DM.EXE 激活驱动失败的原因之一
- book
- (4)JavaScript学习笔记 - 数据类型和值(续)
- VTK+OSG实验小结(图)
- 表示不同文件类型的魔术数字