打印

[AS3] 怎样对加载进来的swf进行判断是否播放完毕?

怎么对加载进来的swf进行判断是否播放完毕呢?然后就自动从外部加载另外的swf

用totalFrames求出来的总帧数不准确,只能算出主场景中的帧数 暂时被我抛弃了...

还有别的方法可以用吗?例如能准确算出swf总的时间?
totalFrames都不行,那你只能在swf播放完后发一个事件出来了。。

SWF动画是没有结尾的。
承接FLASH相关项目,具体至:www.yiyiflashstudio.com
我这个要加载的swf是别人做的广告  我总不能每次都跟人家要源文件啊....

还有别的思路可以实现效果吗?

[ 本帖最后由 zbgl 于 2008-8-4 14:01 编辑 ]
SWF动画是没有结尾的。

不然。。那你就只能自己目测定死一个时间了。
承接FLASH相关项目,具体至:www.yiyiflashstudio.com

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
呵呵 我也考虑过这个方法 实在不行 我只好这样了 具体杂做 请教一下你 用Timer还是用setTimeout?具体应该杂些?能写个简单的源代码不 指定30秒后执行一个函数就行

TOP

var timer:Timer = new Timer ( 30000 );
timer.addEventListener ( TimerEvent.TIMER , yourHandler );
timer.start ();
function yourHandler ( event:Event ):void {
    // kill someone
}
紫色的風.net
迷一样打不开的地址

TOP

试着在加载的SWF最后一帧写一个参数,如
played=true;//播放完毕

主调用程序只要不停判断是否played的值即可知道正在播放的广告是否播完。
以前用过这样的方法。
www.netsnower.com

TOP

末帧:dispatchEvent(new Event("playcomplete"))

外部监听调入动画的"playcomplete"事件
addEventListener("playcomplete",eventhaddler);

我们应该尽可能用OPP的思路解决问题。
承接FLASH相关项目,具体至:www.yiyiflashstudio.com

TOP

各位兄弟  我这个要加载的swf是别人做的广告  我总不能每次都跟人家要源文件啊....

TOP

反編譯一次就搞定。
紫色的風.net
迷一样打不开的地址

TOP

yourMC.loaderMC.loadMovie(your.swf)

yourMC.onEnterFrame = function(){
    if(this.loaderMC.getBytesloaded() == this.loaderMC.getBytesTotal() && this.loaderMC.getBytesTotal() >0){
        //load completed
        this.loaderMC.play()
        this.onEnterFrame = function(){
            i(this.loaderMC._currentframe == this.loaderMC._totalframes){
                    trace("Over")
                   this.onEnterFrame = null;
                   delete this.onEnterFrame;
            }
        }
   }
}
http://gift4memory.spaces.live.com

TOP

试试addFrameScript

TOP