![]() ![]() | |
若要将 SWF 和 JPEG 文件预加载到影片剪辑实例中,您可以使用 MovieClipLoader 类。此类提供事件侦听器机制,可以提供有关将文件下载到影片剪辑的状态的通知。使用
MovieClipLoader 对象预加载 SWF 和 JPEG 文件包含以下步骤:
创建新的 MovieClipLoader 对象 您可以使用单个 MovieClipLoader 对象跟踪多个文件的下载进度,或为每个文件的进度创建一个单独的对象。
var loader:MovieClipLoader = new MovieClipLoader();
创建侦听器对象和创建事件处理函数 侦听器对象可以是任何动作脚本对象,例如通用 Object 对象、影片剪辑或自定义组件。
例如,以下代码创建一个名为 loadListener 的通用侦听器对象,然后为自身定义 onLoadStart、onLoadProgress 和 onLoadComplete 函数。
// 创建侦听器对象:
var loadListener:Object = new Object();
loadListener.onLoadStart = function (loadTarget) {
trace("Loading into " + loadTarget + " has started.");
}
loadListener.onLoadProgress = function(loadTarget, bytesLoaded, bytesTotal) {
var percentLoaded = bytesLoaded/bytesTotal * 100;
trace("%" + percentLoaded + " into target " + loadTarget);
}
loadListener.onLoadComplete = function(loadTarget) {
trace("Load completed into:" + loadTarget);
}
向 MovieClipLoader 对象注册侦听器对象 为了让侦听器对象接收加载事件,您必须将其向
MovieClipLoader 对象进行注册。
loader.addListener(loadListener);
开始将文件(JPEG 或 SWF)加载到目标剪辑 若要开始 JPEG 或 SWF 文件的下载,可以使用 MovieClipLoader.loadClip() 方法。
loader.loadClip("scene_2.swf");
注意:您只能使用 MovieClipLoader 方法跟踪用 MovieClipLoader.loadClip() 方法加载的文件的下载进度。不能使用 loadMovie() 函数或 MovieClip.loadMovie() 方法。
以下示例使用 ProgressBar 组件的 setProgress() 方法显示 SWF 文件的下载进度。(请参见 ProgressBar 组件。)
使用 ProgressBar 组件显示下载进度:target_mc。pBar,然后在“参数”选项卡上,从“模式”弹出式菜单中选择“手动”。
// 创建一个 MovieClipLoader 对象和一个侦听器对象
myLoader = new MovieClipLoader();
myListener = new Object();
// 将 MovieClipLoader 回调函数添加到您的侦听器对象中
myListener.onLoadStart = function(clip) {
// 此事件会在加载开始时触发一次
pBar.label = "Now loading:" + clip;
};
myListener.onLoadProgress = function(clip, bytesLoaded, bytesTotal) {
var percentLoaded = int (100*(bytesLoaded/bytesTotal));
pBar.setProgress(bytesLoaded, bytesTotal);
};myLoader.addListener(myListener);
myLoader.loadClip("veryLargeFile.swf", target_mc);
有关更多信息,请参见 MovieClipLoader 类。
![]() ![]() | |