动画设计中loadMovie函数介绍
loadMovie(url:String, target:Object, [method:String]) : Void
loadMovie(url:String, target:String, [method:String]) : Void
在播放原始 SWF 文件时,将 SWF、JPEG、GIF 或 PNG 文件加载到 Flash Player 中的影片剪辑中。在 Flash Player 8 中添加了对非动画 GIF 文件、PNG 文件和渐进式 JPEG 文件的支持。如果加载动画 GIF,则仅显示第一帧。
提示:如果您要监视下载的进度,则使用 MovieClipLoader.loadClip() 而不是此函数。
使用 loadMovie() 函数可以一次显示多个 SWF 文件,并且无需加载另一个 HTML 文档即可在 SWF 文件之间进行切换。如果不使用 loadMovie() 函数,则 Flash Player 显示单个 SWF 文件。
如果要将 SWF 文件或 JPEG 文件加载到特定的级别中,请使用 loadMovieNum() 而不是 loadMovie()。
如果 SWF 文件加载到目标影片剪辑,则可使用该影片剪辑的目标路径来定位加载的 SWF 文件。加载到目标的 SWF 文件或图像会继承目标影片剪辑的位置、旋转和缩放属性。加载的图像或 SWF 文件的左上角与目标影片剪辑的注册点对齐。或者,如果目标为根时间轴,则该图像或 SWF 文件的左上角与舞台的左上角对齐。
使用 unloadMovie() 可删除用 loadMovie() 加载的 SWF 文件。
使用此函数时,请考虑 Flash Player 安全模型。
对于 Flash Player 8:
如果执行调用的影片剪辑在只能与本地文件系统的内容交互的沙箱中,并且被加载的影片剪辑来自网络沙箱,则不允许加载。
如果执行调用的 SWF 文件在网络沙箱中并且要加载的影片剪辑是本地的,则不允许加载。
从受信任的本地沙箱或从只能与远程内容交互的沙箱访问网络沙箱需要通过跨域策略文件获得网站的许可。
在只能与本地文件系统内容交互的沙箱中的影片剪辑不能对只能与远程内容交互的沙箱中的影片剪辑使用脚本(反之也是禁止的)。
对于 Flash Player 7 及更高版本:
网站可以允许通过跨域策略文件来跨域访问资源。
基于 SWF 文件的原始域,在各 SWF 文件之间使用脚本受到限制。使用 System.security.allowDomain() 方法可调整这些限制。
有关更多信息,请参见以下部分:
"学习 Flash 中的 ActionScript 2.0"的第 17 章,"了解安全性"
Flash Player 8 安全性白皮书
Flash Player 8 与安全相关的 API 白皮书
可用性:Flash Player 3;ActionScript 1.0
参数
url:String - 要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL。相对路径必须相对于级别 0 处的 SWF 文件。绝对 URL 必须包括协议引用,例如 http:// 或 file:///。
target:Object - 对影片剪辑对象的引用或表示目标影片剪辑路径的字符串。目标影片剪辑将被加载的 SWF 文件或图像所替换。
method:String [可选] - 指定用于发送变量的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量附加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送长字符串的变量。
示例
用法 1:以下示例从同一目录加载 SWF 文件 circle.swf,并替换舞台上已存在的名为 mySquare 的影片剪辑:
loadMovie("circle.swf", mySquare);
// equivalent statement (Usage 1): loadMovie("circle.swf", _level0.mySquare);
// equivalent statement (Usage 2): loadMovie("circle.swf", "mySquare");
下面的示例从同一目录加载 SWF 文件 circle.swf,但替换主影片剪辑而不是 mySquare 影片剪辑:
loadMovie("circle.swf", this);
// Note that using "this" as a string for the target parameter will not work
// equivalent statement (Usage 2): loadMovie("circle.swf", "_level0");
下面的 loadMovie() 语句将 SWF 文件 sub.swf 从同一目录加载到使用 createEmptyMovieClip() 创建的名为 logo_mc 的新影片剪辑中:
this.createEmptyMovieClip("logo_mc", 999);
loadMovie("sub.swf", logo_mc);
您可以添加以下代码,以从加载 sub.swf 的 SWF 文件所在的同一目录加载名为 image1.jpg 的 JPEG 图像。当您单击名为 myBtn_btn 的按钮时,将加载该 JPEG。此代码将 JPEG 加载到 logo_mc 中。因此,它将 sub.swf 替换为 JPEG 图像。
myBtn_btn.onRelease = function(){
loadMovie("image1.jpg", logo_mc);
};
用法 2:以下示例从同一目录加载 SWF 文件 circle.swf,并替换舞台上已存在的名为 mySquare 的影片剪辑:
loadMovie("circle.swf", "mySquare");
|