当您在bytesLoaded == bytesTotal if子句中调用任何甚至未命名的函数时,Flash影片会自行播放

时间:2010-04-23 13:27:11

标签: flash actionscript-3 playback

我实际上并不需要帮助,我只想知道您对奇怪的Flash CS4(AS3)行为的看法。 应该有一些我错过的东西。 1)会发生什么:flash movie在if(bytesLoaded == bytesTotal)之间的任何(甚至不存在的)函数调用上播放,并且不在那里的注释掉或空白行上播放。 2)应该看到的是:没有动作 - 我不会调用任何时间轴功能,所以电影不应该播放。 任何警告或错误?我不知道,flash处理错误的方式总是如此* -nixy。 3)其中:在

if(stage.loaderInfo.bytesLoaded==stage.loaderInfo.bytesTotal)
第一帧(AS3)上的

子句

我认为adobe已经承担了自己的责任,如果我们使用bytesLoaded和bytesTotal,那么我们想要播放电影:|。如果我想要一个数字并且不想玩它会怎么样?

我不使用自定义文档类,所以我使用root。*而不是MovieClip(root)。*

---这是第一帧的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);                   

    }
}

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:-1)

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

感谢您的回复。