当您调用bytesLoaded==ByTestTotal if子句中的任何函数(甚至未命名)时,flash电影会自动播放

当您调用bytesLoaded==ByTestTotal if子句中的任何函数(甚至未命名)时,flash电影会自动播放,flash,actionscript-3,playback,Flash,Actionscript 3,Playback,我其实不需要帮助,我只是想知道你对Flash CS4 AS3怪异行为的看法。 我应该错过了什么。 1发生了什么:flash电影在ifbytesLoaded==ByTestTotal之间的任何甚至不存在的函数调用上播放,并且不会在注释掉或空白行上播放。 2取而代之的是:没有动作——我不调用任何时间轴函数,所以电影不应该播放。 有什么警告或错误吗?我不知道,flash在处理错误的方式上一直都是那么的模糊。 3:在哪里 if(stage.loaderInfo.bytesLoaded==stage.lo

我其实不需要帮助,我只是想知道你对Flash CS4 AS3怪异行为的看法。 我应该错过了什么。 1发生了什么:flash电影在ifbytesLoaded==ByTestTotal之间的任何甚至不存在的函数调用上播放,并且不会在注释掉或空白行上播放。 2取而代之的是:没有动作——我不调用任何时间轴函数,所以电影不应该播放。 有什么警告或错误吗?我不知道,flash在处理错误的方式上一直都是那么的模糊。 3:在哪里

if(stage.loaderInfo.bytesLoaded==stage.loaderInfo.bytesTotal)
关于第一框架AS3的条款

我认为adobe已经承担了自己的责任,猜测如果我们使用bytesLoaded和ByTestTotal,那么我们想要播放电影:|。如果我想收到一个号码,但不想玩它怎么办

我不使用自定义文档类,所以我使用root.*而不是MovieCliproot*

--这是第一帧上的AS3代码,在接下来的1999帧中嵌入视频

stop();


root.addEventListener(Event.ENTER_FRAME,RootOnEnterFrame);

function RootOnEnterFrame (evt:Event) {
 if(stage.loaderInfo.bytesLoaded==stage.loaderInfo.bytesTotal){

                   //anyfunctionname(anynumber);

             Math.ceil(1599);

                   funcdoesnotexists(7);                   

    }
}

这里的问题是,Web服务器并不总是告诉浏览器文件有多大。不幸的是,Flash将其解释为ByTestTotal为0。当然,0==0是真的


您可以事先让swf知道大小,也可以配置Web服务器发送此信息。前者是最常见的解决方法。

嘿,我想除了Macromedia的Adobe/flash人员之外,没有人有这个想法


感谢您的回复。

bitc,谢谢您的回复。事实上,SWF是在Flash IDE中播放的,有趣的是它认为即使Math.ceil也是一个播放函数,而不是更多或更少。我认为Macromedia和Adobe伴随着ActionScript而来的是一种无可奈何的宽容——比如“当然,如果程序员检查bytesLoaded,那么他显然想播放一部电影”。我想不出更可能的答案了。