首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash MovieClipLoader实例行为不正确

Flash MovieClipLoader实例行为不正确
EN

Stack Overflow用户
提问于 2009-11-02 21:47:05
回答 2查看 420关注 0票数 0

我目前有几个电影剪辑,我加载到另一个电影剪辑container。我使用MovieClipLoader类来加载它们,并利用onLoadProgressonLoadStartonLoadInitonLoadCompleteonLoadError侦听器。

onLoadProgess侦听器中,我侦听已加载的字节数和总字节数,并将百分比放入另一个电影剪辑的文本框中(我暂时将其放在舞台上以显示正在加载的内容)。这就是问题所在,加载的电影剪辑在40%的加载标记上开始播放,而不是等待加载100%。这很奇怪,我不知道我会做错什么。下面是我的代码:

代码语言:javascript
复制
// loading icon to show progress
var loading_icon:MovieClip = new MovieClip();

// load PassionPurpose.swf
var passionPurposeLoader = new MovieClipLoader();
var passionPurpose:MovieClip = this.container.createEmptyMovieClip("passionPurpose", this.container.getNextHighestDepth());
passionPurpose._y = groupOverviewHeight;

passionPurposeLoader.onLoadInit = function (targetMc:MovieClip) {
 trace("Init... "+PPFile);

 loading_icon._visible = false;
 loading_icon.unloadMovie();
}

passionPurposeLoader.onLoadStart = function (targetMc:MovieClip) {
 loading_icon = passionPurpose._parent.attachMovie("loading_icon_ch1","loading_icon_ch1",passionPurpose._parent.getNextHighestDepth());

 loading_icon._x = 245 - loading_icon._width/2;
 loading_icon._y = 207 - loading_icon._height/2;

 loading_icon._visible = true;
}

passionPurposeLoader.onLoadComplete = function (targetMc:MovieClip) {
 trace("Complete... "+PPFile);

 loading_icon._visible = false;
 loading_icon.unloadMovie();
}

// progress function
passionPurposeLoader.onLoadProgress = function(targetMc:MovieClip, loadedBytes:Number, totalBytes:Number) {
 // determine percentage
 var percentage:Number = Math.round(loadedBytes / totalBytes * 100);

 trace("Loading... "+loadedBytes+"/"+totalBytes+" "+PPFile);
 loading_icon.loading_txt.text = percentage + "%";

 if (loadedBytes == totalBytes) loading_icon.unloadMovie();
}

// there was an error loading the movieclip
passionPurposeLoader.onLoadError = function (targetMC, errorCode) {
 trace("Error");
}

有没有人有什么解释或解决方案?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-02 22:22:01

我不是很喜欢as2,但似乎你可以在加载电影的第一帧(passionPurpose)中设置停止,所以当第一帧加载时,它只会停在那里。当加载完成后,播放电影。或者在onLoadStart中,只需暂停电影(passionMovie.gotoAndStop(1);),并在电影完成后(即onLoadComplete)播放。还有一件事,loading_icon可能不需要两个unloadMovie调用,要么放在onLoadComplete中,要么放在onLoadProgress中。

如果它不工作,那么您可以尝试使其不可见,直到它完全加载。

票数 1
EN

Stack Overflow用户

发布于 2009-11-13 20:12:45

按照bhups的建议,在加载的剪辑的第一帧上设置停止操作,或者在开始加载时立即停止它们。只要加载了帧,影片剪辑就会自动播放,除非您告诉他们不要这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1661424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档