
转载请留下我Blog的链接 http://www.kingda.org/
上次发现有人在Blog上用我的文章居然连我名字都故意去掉,打击了我blog和做东西的积极性。![]()
Kingda's KLoader Version 1.5 发布! (2006-11-15)
Kingda's KLoader 黑羽翔天的小小装载器1.00 (loader 1.5) (编译后带默认皮肤仅11K)
Version 1.5版 新增特色:
- 新增passData功能,将父容器的参数传递给要装载的目标swf。黑羽很
喜欢的功能,适合大项目使用!
- 为了方便不会ActionScript的兄弟,增加了参数面板输入,连一行代码也不用写了
- 增加onLoadInit事件。区别和好处,详细见下文
另外,已经去除了每次使用KLoader,向Kingda.org报数的动作了。因为,测试已经完成,这个测试数据提交工作已经不再需要了。也谢谢大家之前的参与。
passData:
参数传递: 即将KLoader所在的MovieClip的所有Number, Boolean, String的属性传递给要加载的swf。 好处: 好比现在我们要加载一个test.swf,但我们需要传递给它user_id,user_level。本来我们在浏览器中加载它时只要写http://www.xxx.com/test.swf?user_id=kingda&user_level=veryhigh 就可以将这两个参数传给test.swf了。 但如果我们需要使用KLoader来加载这个test.swf的话,如何从外部传呢? 比如说我们建立了一个testloader.swf.在_root下,放了一个KLoader组件,将KLoader的targetURL设为test.swf,并把passData设为true. 那么我们使用同样的方法,test.swf就得到了所需要的参数。如下: http://www.xxx.com/testloader.swf?user_id=kingda&user_level=veryhigh这只是最简单的运用,更大的用处在于。
我们要在某个MovieClip比如a_mc中,加载某个example.swf,并想直接传递给它一些参数(String,Boolean,Number类型),再也不需我们考虑什么加载完成再赋值之类的麻烦事了。比如说我们希望example加载后,a.swf就能得到isStarcrafter,age, username等三个参数,那么我们只要在加载之前设置:
a_mc.isStarcrafter = true;
a_mc.age = 26;
a_mc.username = "孙颖"
那么设置KLoader的passData=true后,a.swf一加载完,就可以得到这些参数。爽乎?
debug:
设为true后,KLoader会trace出很有有用的帮助和进程信息。 设为false后,除非出错,不然不会trace任何信息。onLoadInit事件和loaded事件的区别:
该事件在swf装载成功,并已经初始化了第一帧内容后,发出。 而loaded事件是在装载成功,但尚未初始化之前发出。 属中高级用户使用时才会用到的差别。特色:
1.支持根锁住,兼容性好。经测试可装载各种应用了_root的swf。
2.支持换皮肤。皮肤制作简单。
3.使用超级方便,代码量极大简化。现在load任何内容,只需要写一行代码即可。:![]()
对老手的话:
当你的项目中使用了大量的actionscirpt或者组件,那么你会发现设置link_id的“在第一帧导出”以及类的导出会给你带来很大困扰。首先就是loading往往会在40%甚至80%以后才会开始,形同虚设。
原因见:http://www.kingda.org/archives/kingda/2006/05/3load40.html
那么最简单的办法就是用我这个组件:
新建一个与你原来swf同长宽的fla,用KLoader来装载你原来的swf,loading就不会从40%或者更多才开始了。
例子演示请进:![]()
http://www.kingda.org/tools/KLoader.html
装载的过程中可以点击 skin no1, skin no2来切换loading 皮肤。
点击unload 可以卸载movie.
两个演示,一个是三年前的作品,缥缈,5M
一个是4年前的作品,twins,2M。都足够大到慢慢看loading ,哈哈。
如果要重复观看loading演示的话,请先到internet >"工具">清除缓存才可以。
下载地址:(2006-11-15 updated)
点击下载
安装方法参考:
(此处更新,清查看)2006-11-15
打开压缩包,有两个文件,KLoader.fla文件和KingdaLoader.mxp文件。
双击mxp文件,按提示安装。
如要使用KLoader,请直接从组件面板kingda.org目录中拖入Fla文件即可。然后就可以在参数面板上设置相关参数。
详细使用方法:
安装好后,使用时请直接从面板中拖动KLoader组件到你的Fla文件舞台上,命名为,比如说"aaa".
你要装载的swf的URL是"http://www.xxx.com/xxx.swf",或者是相对路径的"xxx/xxx.swf",
(URL可以是:要加载的 SWF、JPEG、GIF 或 PNG 文件的绝对或相对 URL。)
然后,在帧的动作面板中写:
aaa.load("http://www.xxx.com/xxx.swf");
即可。
注意: KLoader不但可以加载整个swf文件。也可以放在一个个Mc里加载子swf。这时候只要在load前多写一行
aaa.isLockroot = false;
就可以了。
如何换皮肤:做一个mc,有100帧,里面放什么动画随你便,只要展示大概从0-100的变化即可。
只要有一个 动态文本框,名字必须取为 "load_tip",即可。
然后设置该mc在库中的link_id(链接ID),比如设为 "xxx_mc"
那么换皮肤就可以使用:
kLoaderInstance.setup("xxx_mc");
kLoaderInstance.load("URL"); //这时皮肤就换了。
皮肤例子:
点击下载
API:
1如何动态创建KLoader?
a.
import org.kingda.tools.loader.KLoader;
createClassObject(KLoader, "yourLoaderName", depthNumber);
2.设置根锁住(好比你的KLoader命名为kLoaderInstance)
kLoaderInstance.isLockroot = true //锁住
kLoaderInstance.isLockroot = false //不锁
(在使用load前设置)
3.换皮肤:
kLoaderInstance.setup("skinLinkageID");
(在使用load前设置)
4.加载
kLoaderInstance.load("URLstring");
5.卸载
kLoaderInstance.unload();
6.对装载的影片的引用,供高级用户使用。
kLoaderInstance.container //MovieClip类型
7.装载成功事件,供高级用户使用。
事件对象结构: eO.type = "loaded"; eO.target = this; eO.target_mc = mc;
8.装载失败事件,供高级用户使用。
事件对象结构:eO.type = "error"; eO.target = this; eO.target_mc = mc; eO.errorCode = errorCode; eO.httpStatus = httpStatus;
注意,为了测试loader组件,目前内置了一个小小的统计,会将你装载的swf的 url字符串返回一下,便于我统计。正式版中会去掉,情支持。
www.kingda.org
e-mail:kingda1980@yahoo.com![]()







Comments (45)
下载连接地址错误!兄弟看看,检查一下
Posted by Jimmy | June 2, 2006 7:07 AM
Posted on June 2, 2006 07:07
很棒,厉害
Posted by Anonymous | June 2, 2006 11:54 AM
Posted on June 2, 2006 11:54
to jimmy:
呵呵,刚才改日记时,不小心改错了。
现在好了!
try try
Posted by 黑羽 | June 2, 2006 1:24 PM
Posted on June 2, 2006 13:24
我用的是flash8.为什么每次一搞就出错了.直接退出来了.不支持flash8????
Posted by 么么芭比 | June 6, 2006 10:20 AM
Posted on June 6, 2006 10:20
你怎么用的?我就是用Flash8编译的,不太会有兼容问题
Posted by 黑羽 | June 7, 2006 10:09 PM
Posted on June 7, 2006 22:09
我用flash8 也遇到了问题,
拖动KLoader到主场景上,命名为"aaa"并在该真上写了路径
aaa.load("sound.swf");
一发布就出错了。确定后,整个flash都关闭了,不知道是不是我用的方法错了?
Posted by 春天的粪球 | June 8, 2006 8:59 AM
Posted on June 8, 2006 08:59
不错,我在两台机子上测也发现了类似情况。
我正在找原因,周末搞定。稍等
Posted by 黑羽 | June 9, 2006 6:28 PM
Posted on June 9, 2006 18:28
等着呢。呵呵。你上次教我的那个函数。对我的那个音乐swf不起作用呢。
Posted by 春天的粪球 | June 9, 2006 7:02 PM
Posted on June 9, 2006 19:02
跑去看球了?哈哈。。。
Posted by 春天的粪球 | June 9, 2006 11:47 PM
Posted on June 9, 2006 23:47
呵呵,是的。这两天在世界杯和AS3上花了不少时间,没有更新Blog。现在已经修复好了,在几台电脑Flash8上均测试成功。安装方法有改变,请仔细查看。
Posted by 黑羽 | June 12, 2006 9:18 AM
Posted on June 12, 2006 09:18
好,让我来检查检查你周末的作业。。哈哈。:)
Posted by 春天的粪球 | June 12, 2006 5:25 PM
Posted on June 12, 2006 17:25
现在我怎么也装不进去啊。装好了。在组件里也找不到啊。。
Posted by 春天的粪球 | June 12, 2006 6:31 PM
Posted on June 12, 2006 18:31
呵呵,你没仔细看说明。^^
现在不用在组件面板里找了。
执行完mxp文件后,就直接从我zip文件包里面的KLoader.fla文件拖KLoader组件到你想要的fla文件里去就可以了。
Posted by 黑羽 | June 12, 2006 9:51 PM
Posted on June 12, 2006 21:51
-_-#......丢人啊。哈哈。那我去试试
Posted by 春天的粪球 | June 12, 2006 11:21 PM
Posted on June 12, 2006 23:21
疯了。用了你的宝贝,还是搞不顶我的那个问题。
我是想把B.swf载入A.swf中。我在A里放你的宝贝,并第一真上写kk.load("B.swf");测试,影片是导入了,可是影片里的按牛没效果了,B.swf文件是一个flash新闻发布系统,跟一大堆ASP文件是关联在一起的。一头猛水。唉
真郁闷。。。
Posted by 春天的粪球 | June 13, 2006 8:39 PM
Posted on June 13, 2006 20:39
对了。最近要是不忙。放几张小猫的pp啊。哈哈。看看你的小猫长大没。。。
Posted by 春天的粪球 | June 13, 2006 8:40 PM
Posted on June 13, 2006 20:40
你影片里面的按钮是否直接或者间接访问了_root,如果是这样 ,你要加上一句
isLockroot = false
才能正常工作。
我们家小猫已经送走了,只剩一只了。 ^^
Posted by 黑羽 | June 14, 2006 4:26 PM
Posted on June 14, 2006 16:26
不加 isLockroot = false 的时候。还可以按一下。加了按牛根本就没反映。
里面有_root和_level1
要不你加我qq我发文件给你看看?
我过年的时候拣了3只吃奶的小猫。把它们养大了。都送人了。唉。伤感啊。最可惜是家人不给养。要不然。3只我都想自己养.
Posted by 春天的粪球 | June 14, 2006 7:53 PM
Posted on June 14, 2006 19:53
如何捕获加载完成的事件??
Posted by zjwps | July 3, 2006 10:26 AM
Posted on July 3, 2006 10:26
什么时候出正式版
Posted by hellomoto | August 8, 2006 3:41 PM
Posted on August 8, 2006 15:41
我用了你的loading加在后的FLASH明显比以前放大了很多```请问怎么回事
Posted by 蓝 | August 8, 2006 3:49 PM
Posted on August 8, 2006 15:49
关于这个组件的lockroot功能,我觉得方法不对,而且也没有效果
举个例子,外部载入的swf中第一真上写:
var P:String="lock success"
trace(_root.P)
//试试你的组件就知道无效果了~
Posted by ycccc8202 | September 28, 2006 3:18 AM
Posted on September 28, 2006 03:18
我在用的时候一发布 就蹦出来个对话框 上面写的
Macromedia Flash Player已终止一项可能不安全的操作。
您计算机或网络上存在以下本地应用程序;
e:\index.swf
正在尝试与以下可访问internet的位置进行通信;
www.kingda.org
要让次应用程序与Internet通信,请单击设置。在更改设置后必须重新启动该应用程序。
确定 设置
愁死了,你的load的确好用,可是怎么才能没有对话框,??
pwf81725@126.com
qq651901052
希望你能告诉我怎么办~~
Posted by 晃 | November 14, 2006 11:52 PM
Posted on November 14, 2006 23:52
to yccc8202:
呵呵,测试期间我更新过几次KLoader.有一次的更新版本有错。你可能碰到那一次了。
现在1.5版,已经很稳定,不太会更新。用用看!
to 晃:
啊,那是我测试版时用来收集测试数据的。现在正式版中已经去掉了。试试! ^_^
Posted by 黑羽 | November 15, 2006 12:35 PM
Posted on November 15, 2006 12:35
为什么下载下来的压缩文件里只有一个
KingdaKLoader.mxp
没有flash文件
Posted by 晃 | November 15, 2006 6:02 PM
Posted on November 15, 2006 18:02
解决了~`
555
真的很感谢你~`
Posted by 晃 | November 15, 2006 6:21 PM
Posted on November 15, 2006 18:21
强啊,黑羽翔天~
Posted by sayhelen | November 16, 2006 9:45 AM
Posted on November 16, 2006 09:45
装载这样的 FLASH游戏的时候 不成功
帧频和大小都是MC的,郁闷死了。
要加载到 0 层的时候才能和被调用
的FLASH文件帧频和大小都一样,怎
么样才能解决这个问题呢?
FLASH的地址:http://218.93.201.168/ywswf01/gameswf/2006/4/19/KvGRj1u553JfM68C9764.swf
Posted by Anonymous | December 2, 2006 4:14 PM
Posted on December 2, 2006 16:14
总是报告这个错误,怎么回事啊?大侠!请帮忙解决. flashmx2004和8上都是这个错误:按照你教的方法作的:代码是:aaa.load("http://cnc.mtxsnow.net/bbs/UploadFile/2006-12/200612213451729280.swf");
错误提示是:**错误** 场景=场景 1, 图层=图层 1, 帧=1:第 14 行: 语句必须出现在 on/onClipEvent 处理函数中
Posted by 仙娜 | December 3, 2006 4:24 AM
Posted on December 3, 2006 04:24
换其他的flash也是这个错误,一次也没成功,换jpg也是,晕啊:(
Posted by 仙娜 | December 3, 2006 4:26 AM
Posted on December 3, 2006 04:26
to 仙娜:
Girl Flasher??
呵呵,你的错误在于将代码写到了MC上。记得点击关键桢,然后在动作面板上写代码。确认关键桢上出现了"a"的记号后,才好。然后可以编译了
Posted by 黑羽 | December 3, 2006 3:20 PM
Posted on December 3, 2006 15:20
谢谢你啊,黑羽,我是个初学的菜鸟,多多指教啊^_^ 我这就去试验
Posted by 仙娜 | December 3, 2006 9:44 PM
Posted on December 3, 2006 21:44
谢谢你啊,黑羽,我是个初学的菜鸟,多多指教啊^_^ 我这就去试验
Posted by 仙娜 | December 3, 2006 9:45 PM
Posted on December 3, 2006 21:45
Macromedia Flash Player已终止一项可能不安全的操作。
您计算机或网络上存在以下本地应用程序;
e:\index.swf
正在尝试与以下可访问internet的位置进行通信;
www.kingda.org
要让次应用程序与Internet通信,请单击设置。在更改设置后必须重新启动该应用程序。
确定 设置
Posted by Anonymous | December 18, 2006 9:13 PM
Posted on December 18, 2006 21:13
昨天下载了个FLASH,想修改后用下,但连接出现了问题,我搞了一整天,都没有定,郁闷,希望你指点下,谢谢
一点击"连接"按扭,就出现如下对话框:
Macromedia Flash Player已终止一项可能不安全的操作。
您计算机或网络上存在以下本地应用程序;
e:\index.swf
正在尝试与以下可访问internet的位置进行通信;
www.kingda.org
要让次应用程序与Internet通信,请单击设置。在更改设置后必须重新启动该应用程序。
确定 设置
急盼赐教
QQ:281175786
EMAIL:mengdemeng103@126.com
Posted by Anonymous | December 18, 2006 9:18 PM
Posted on December 18, 2006 21:18
to 楼上兄弟:
你下的是以前的测试期的版本吧。
那个版本我加了个统计功能,需要访问kingda.org。
正式版已经去掉了啊!你重新看看本页。
11-15日更新的。更加好用了。^_^
新功能介绍在
http://www.kingda.org/archives/kingda/2006/11/kloader15kloader_ver_15_releas.html
Posted by 黑羽 | December 18, 2006 10:06 PM
Posted on December 18, 2006 22:06
“kLoaderInstance.setup("xxx_mc");
kLoaderInstance.load("URL"); //这时皮肤就换了。”
请问上面的换肤代码是加在哪的??
搞不懂啊。
Posted by 84design | December 25, 2006 2:32 PM
Posted on December 25, 2006 14:32
真的太好啦!
以后多来向你学!
Posted by Beach | January 11, 2007 2:46 PM
Posted on January 11, 2007 14:46
非常支持作者,但老实说一句,完全看不懂,加了你的组件,完全没有效果,看来有时间最好做个图片教程,看你文字根本看不懂加再哪里,可能一些都算高手的才看得懂,你发表的对我门这些初哥根本没有用处!失望
Posted by 支持 | January 15, 2007 3:52 AM
Posted on January 15, 2007 03:52
这个东西看上去很不错,可是我按照教程来设置没任何效果。或许教程写的太简单,或许又是太复杂。
Posted by 陆行鸟 | February 10, 2007 12:12 AM
Posted on February 10, 2007 00:12
老大,你的字符串处理类有点小bug.不知道是不是我不会用,
只输入一个字符的时候返回总是空!
Posted by movov | March 16, 2007 5:06 AM
Posted on March 16, 2007 05:06
to movov:
是的,是有这个bug.
很早就修正了,放到我的StringTools包里去了。
我晚上回去看看,有没有在博客上更新。
Posted by 黑羽 | March 16, 2007 4:54 PM
Posted on March 16, 2007 16:54
您好,我觉得这个东东很好用,对我们新手真的很有帮助。
但是使用过程中遇到了一个小问题,请您帮忙看一下:
4个swf文件--
preload.swf 13k
main.swf 297k
01.swf 84k
02.swf 84k
在preload里用kloader预加载并播放main.swf;
在main里用kloader预加载并播放01和02;
问题是:在preload.swf里的kloader加载main.swf时显示加载文件总大小是445k,而实际上main.swf大小为297k,难道此时它把01和02swf也一并加载了吗?疑惑。
希望在preload.swf里的kloader仅仅加载实际大小297k的main.swf,为什么会显示是445k呢?
麻烦您给予解答,谢谢。
Posted by critter | June 23, 2007 11:10 AM
Posted on June 23, 2007 11:10
你好,我是flash新手,请问KLoader可以在Flex/as3中使用不?
谢谢.
Posted by wind | July 11, 2007 9:41 AM
Posted on July 11, 2007 09:41
我用了你的组件,很顺利就完成了一个加载外部swf的试验,可是总是在加载到40%左右就播放影片了,请老师指教,问题出在哪里?
Posted by fxtfxt | August 20, 2007 12:55 PM
Posted on August 20, 2007 12:55