2012-03-08 94 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