2004/09/28 | 数据传递——秘籍
类别(Flash进修) | 评论(0) | 阅读(247) | 发表于 19:35
来自闪吧,原贴

好像是一个很新的函数:LocalConnection()
与FSCommand命令相似,Local Connection对象允许在两个swf文件之间实现通讯交互

下面以一个实例简单说明一下:

效果:在fasong影片的SWF文本框中输入一些字符,然后点击按钮,可以看见相同的字

符被传递给了jieshou这个swf文件。
---

新建一影片,命名为fasong(你看着办好了), 在主场景中建一输入文本,Var为

speech。弄一按钮放在主场景中,给按钮加代码:

on (release) {
//定义一个名为FS的Local Connection对象
FS = new LocalConnection();
FS.send("flash8", "comeBack", speech);
//其中"flash8"为swf文件之间(共同的)连接名称,可任意定。comeBack为你想调用的方法名,这个方法名是在接收信息的swf文件中定义的,speech是一个变量,将会被传递给你在接收信息的swf文件中定义的函数
FS.onStatus = function(result) {
//判断如果发送不成功则显示.当发送信息的Local Connection对象运行了send命令后,onStatus处理器将会被调用
if (result.level == "error") {
a = "发送失败";
}
}
}

将这影片存在一个文件夹内。再新建一影片,命名为jieshou

在主场景中建一动态文本框,Var为num

在主场景中第一帧加代码:

JS = new LocalConnection();
JS.comeBack = function(speech) {
num =speech;
};
JS.connect("flash8");

把jieshou影片存在同一文件夹内。然后你就可以进行测试咯。

注意的几点:

1。发送数据的对象名称不能和接受信息的swf文件中的Local Connection对

象名称相同。如FS = new LocalConnection();与JS = new LocalConnection();

2。两个swf文件之间连接名称虽可"任意"定,但二者必须相同,如上的"flash8"

Local Connections的另一个方法是close,如你可以试着把上面的代码改为

JS = new LocalConnection();
JS.comeBack = function(speech) {
num =speech;
this.close();
};
JS.connect("flash8");
0

评论Comments