FlashMX新增的LocalConnection对象能够使客户端机器上当前打开的独立的SWF之间互相通信,不需要FSCommand 或 javascript。
我们来做个简单的例子,这个例子要实现的是在两个独立的SWF之间,一个SWF去控制另一个SWF跳转到第二帧。
首先要更新你的FlashMX帮助文档,
因为关于这个对象的说明文档在后来的Flash MX Documentation Updater
里头.更新文档是英文,如果你用的是中文版的FlashMX,更新前请做好备份。[注:加粗部分你可以不管,如果你不想学习新东西的话]
更新文档官方下载:
www.macromedia.com/support/flash/documentation/flmx_documentation_updater更新文档本地下载:
vip.5d.cn/mozi/software/flashmx_doc_updater_en.exe一切就绪,开始:
第一步:新建Movie保存并命名为send_movie
在send_movie内做一按钮,命名为btn,场景第一帧AS:
_root.btn.onRelease = function () {
var lc = new LocalConnection ();//新建LocalConnection对象
lc.send ("comein", "Comein", "2");
//"comein"为receive_movie.swf中lc的连接名,"Comein"传递给 receive_movie.swf的函数名,"2"要传递的参数
}
保存,再Ctrl+Enter,咦?没效果......
OK~ 再来第二步:
新建Movie保存并命名为receive_movie
在场景内第一层插入两个空关键帧,分别在两个关键帧内放点东东,至于放什么那就随你了,只要能够方便的区分两个关键帧。
然后在第二层第一帧写AS:
var lc = new LocalConnection ();
lc.Comein = function (num) {
_root.gotoAndStop (num);
};
lc.connect ("comein");//连接到send_movie.swf
stop ();
保存,再Ctrl+Enter,咦?还是没效果......
嘿嘿,这样是看不到效果的啦.
分别打开send_movie.swf和receive_movie.swf,在send_movie.swf里点击按钮,看看
receive_movie.swf里发生了什么,是不是跳转到第二帧了啊?呵呵,就这么简单......
这只是LocalConnection对象的简单应用,不知大家有什么启发去做出更复杂,更有趣的东东?
原文件下载:相关文件:
点这儿打开