一个FLASH调用的问题(_level 和 loadMovieNum)
2010-08-10今天弄FLASH的时的一个问题,记录一下,在此感谢BI的两位FLASH版主flash023和火山给予的帮助,现在我把问题重列一下;
如下图所示:
我有两个flash文件,1.swf和2.swf;
1.swf:里边只有一个按钮,点击后trace(1),且loadMovieNum 2.swf;注意,1.swf这个FLASH我不能更改;
2.swf:里边的内容我可以随意更改,我想实现的是,当他被1.swf loadMovieNum后,在1.swf被点击时,2.swf里边也可以监听到这次点击;例如trace(2);

最终flash023给的办法不错:
在1.swf中用:
在2.swf中用:
最终把这个问题解决了;
但是,当1.swf和2.swf不在同一域名下时,问题又来了,有跨域的问题;以上方法就不行了;
以下是关于_level 属性的相关知识,我直接从手册上复制下来的,以前没有注意看这部分:
_levelN
对 _level N 的根时间轴的引用。在使用 _level 属性定位 SWF 文件之前,必须使用 loadMovieNum() 将 SWF 文件加载到 Flash Player 中。还可使用 _level N 定位由 N 分配的级别的已加载 SWF 文件。
加载到 Flash Player 实例中的初始 SWF 文件会自动加载到 _level0 中。_level0 中的 SWF 文件为所有随后加载的 SWF 文件设置帧频、背景色和帧大小。然后,SWF 文件堆叠在处于 _level0 中的 SWF 文件之上的更高编号级别中。
您必须为使用 loadMovieNum() 加载到 Flash Player 中的每个 SWF 文件分配一个级别。您可按任意顺序分配级别。如果您分配的级别(包括 _level0)中已经包含 SWF 文件,则处于该级别的 SWF 文件将被卸载并由新的 SWF 文件替换。
可用性:Flash Player 4;ActionScript 1.0
示例
下面的示例在加载到 _level9 中的 SWF 文件 sub.swf 的主时间轴中停止播放头。sub.swf 文件包含动画,并且与包含以下 ActionScript 的文档位于同一目录中:
您可以将上一示例中的 _level9.stop() 替换为以下代码:
以上记录给自已!
如下图所示:
我有两个flash文件,1.swf和2.swf;
1.swf:里边只有一个按钮,点击后trace(1),且loadMovieNum 2.swf;注意,1.swf这个FLASH我不能更改;
2.swf:里边的内容我可以随意更改,我想实现的是,当他被1.swf loadMovieNum后,在1.swf被点击时,2.swf里边也可以监听到这次点击;例如trace(2);

最终flash023给的办法不错:
在1.swf中用:
_btn.onRelease = function() {
trace('1');
};
loadMovieNum("2.swf", 1);
在2.swf中用:
var onClick:Function =_level1._btn.onRelease;
_level1._btn.onRelease=function(){
onClick();
trace("2");
}
最终把这个问题解决了;
但是,当1.swf和2.swf不在同一域名下时,问题又来了,有跨域的问题;以上方法就不行了;
以下是关于_level 属性的相关知识,我直接从手册上复制下来的,以前没有注意看这部分:
_levelN
对 _level N 的根时间轴的引用。在使用 _level 属性定位 SWF 文件之前,必须使用 loadMovieNum() 将 SWF 文件加载到 Flash Player 中。还可使用 _level N 定位由 N 分配的级别的已加载 SWF 文件。
加载到 Flash Player 实例中的初始 SWF 文件会自动加载到 _level0 中。_level0 中的 SWF 文件为所有随后加载的 SWF 文件设置帧频、背景色和帧大小。然后,SWF 文件堆叠在处于 _level0 中的 SWF 文件之上的更高编号级别中。
您必须为使用 loadMovieNum() 加载到 Flash Player 中的每个 SWF 文件分配一个级别。您可按任意顺序分配级别。如果您分配的级别(包括 _level0)中已经包含 SWF 文件,则处于该级别的 SWF 文件将被卸载并由新的 SWF 文件替换。
可用性:Flash Player 4;ActionScript 1.0
示例
下面的示例在加载到 _level9 中的 SWF 文件 sub.swf 的主时间轴中停止播放头。sub.swf 文件包含动画,并且与包含以下 ActionScript 的文档位于同一目录中:
loadMovieNum("sub.swf", 9);
myBtn_btn.onRelease = function() {
_level9.stop();
};
您可以将上一示例中的 _level9.stop() 替换为以下代码:
_level9.gotoAndStop(5);
以上记录给自已!
评论:0 条 | 查看:420 次