运行时共享库的作用是在swf中动态加载外部库,使用库中的资源等等,以下是例子:
1. 新建一fla,命名为Lib.fla
2. 在fla中新建一个元件,库面板中右键选择“链接”,类名设置为MyCircle
3. 新建一as文件,命名为MyCircle.as(空类),代码如下
1
2
3
4
5
| package{
import flash.display.*;
public class MyCircle extends Sprite{
}
} |
4. Lib.fla的文档类处写LibTest,然后新建一LibTest.as,代码如下
1
2
3
4
5
6
7
8
9
| package{
import flash.display.*;
public class LibTest extends Sprite{
public var CircleClass:Class = MyCircle;
public function echo(string:String){
trace("echo from lib:" + string);
}
}
} |
5. shift + f12 导出Lib.swf
6. 新建一app.fla,文档类设置为AppTest
7. 新建AppTest.as,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| package{
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class AppTest extends Sprite{
public function AppTest (){
init();
}
public function init():void{
var loader:Loader = new Loader();
var req:URLRequest = new URLRequest();
req.url = "Lib.swf";
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(req);
}
public function completeHandler(event:Event):void{
var loader:Loader = (event.target as LoaderInfo).loader;
var lib:LibTest = LibTest(loader.content);
trace(lib);
lib.echo("xxx");
addChild(new lib.CircleClass());
}
}
} |
8. 导出运行一下,可以看到Lib.swf被加载以后,AppTest调用lib中的MyCircle类新建了一个圆形加载了舞台上。
这种方法可以用来动态加载字体,或其他比较大但不是必须的资源。
注意这种方法和flash 本身所的runtime sharelib应该是不一样的,flash的这个概念是可以将原件按share lib导出,然后再fla中可以导入swf得到swf中的库元件,这个运行时是指flash开发工具的运行时而不是swf的运行时。
下载本文源代码:sharelib
应force要求写的一个插件,主要是pve中tank的计时,在某个buff或debuff小于5秒消失的时候会语音提示,还是本人配音……也可以自己录好wav替换插件中的相应文件
warriorcry
春节时候刷战场,跟了几次ut团,虽然能赢,但是很累,又要等人又要听指挥,一小时等人等来等去也就能刷两场。遂怒,自己看新场排,可是还是很累,再怒,就有了这个插件。。
使用方法:不停的打开战场npc对话框,有新场了会在聊天窗口有文字提示,并附本人语音提示-_-
一般新场遇到ut的几率比较大,注意要等战场还有30秒离开的时候再进入,否则ut队看到太多野人排也许就跳场了,一般一小时刷2000荣誉没问题。
bgteller