2012-03-08 85 views

回答

3

那么,有一个网站,有一个SWF文件,我想暂停它。

你有权限访问这些文件及其来源吗?它在同一个域上吗?

无论如何,前两个答案建议用另一个Flash应用程序包装swf,然后将帧率设置为0.这不准确,因为您可以设置的最小帧率为0.01。 Flash代码是围绕帧率构建的,这很有意义。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#frameRate

如果您有机会获得你要暂停的原始文件,正确的方法来完成,这将是通过ExternalInterface的

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

http://www.viget.com/inspire/bi-directional-actionscript-javascript-communication/

+0

我没有完整的access.I可以下载swf文件,但它可以在线获得信息。所以如果我没有原始的.fla文件,唯一的办法是暂停它是将它包装在另一个闪存档案?或者是否可以通过一些浏览器技巧?如果暂停浏览器也将是选择,如果它的一切暂停了 – Tomas 2012-03-09 05:23:45

+0

只有当你知道包装的SWF内发生了什么时,才能完成你想要完成的任务,也就是说,如果你知道有一个全局函数负责暂停)。有关加载外部SWF文件的大量信息可以在此处找到:http://kb2.adobe.com/cps/141/tn_14190.html 如果应用程序不支持它,则无法完全暂停所有内容。即使帧速率可从外部设置为0,声音仍会播放,事件仍会发送。原始Flash文件的作者必须有一个负责暂停的方法。 – ido 2012-03-09 08:52:25

+0

也许阅读本文也将有助于了解该主题的复杂性http://help.adobe.com/en_US/as3/mobile/WS4bebcd66a74275c36cfb8137124318eebc6-8000。html#WS4bebcd66a74275c36cfb8137124318eebc6-7ffc 标记的页面解释了unloadAndStop函数,它与您想要的类似,但当然,SWF已卸载,因此无法恢复到同一状态(仅从头再次加载)。 – ido 2012-03-09 08:56:58

0

你的问题有点含糊,我有点困惑的正是你想要的。我确实在this question中找到了可以帮到你的东西。但这里是我看到的可能会帮助你:

嵌入一个瑞士法郎,这将加载游戏。然后,您将可以进行一些控制,因为加载的SWF与加载的SWF运行在同一个实例中。对于大多数游戏,它应该足以将帧速率设置为0.

因此,将帧速率设置为0基本上会暂停它......但是如果您稍微澄清一下您的问题,我将能够提供更详细的答案更多。

+0

那么,有一个网站,有一个SWF文件,我想暂停它。 – Tomas 2012-03-08 15:30:59