2010-02-17 76 views
2

我正在Flash遊戲網站BeardedGames.com上工作。我剛剛實施了一個「恐慌」按鈕,使整個網站顯示:無,顯示:塊的iframe與用戶選擇的學校網站允許。使用javascript暫停Flash遊戲

到目前爲止效果很好,但用戶的Flash遊戲仍然在後臺運行時隱藏。有沒有辦法可以暫停(不重置)遊戲,即使不是全部,也可以用於Flash遊戲?它需要從JavaScript訪問(可能只是JavaScript,或閃存包裝?),它有工作在IE 6及更高版本(我知道......我知道,不能幫助它)。

編輯:無法說清楚,用戶必須能夠在按下無拉伸按鈕後「停止」他們的遊戲。

編輯:我還沒有做過這些遊戲,這些已經制作的遊戲像linerider。

回答

2

你可以做的最好的事情:

不要直接嵌入遊戲。嵌入一​​個瑞士法郎,這將加載遊戲。然後,您將可以進行一些控制,因爲加載的SWF與加載的SWF運行在同一個實例中。對於大多數遊戲,它應該足夠setting the frame rate to 0

儘管如此,有些遊戲使用計時器,所以雖然遊戲不能直觀地運行,但遊戲邏輯(部分)仍在繼續。

但是,您可以將其與drowntoge的解決方案結合使用。讓加載器調用javascript,在那裏你有一些阻塞的操作,例如讓它發出同步的http請求,直到按下unpanic按鈕。但某些瀏覽器可能會抱怨腳本運行時間過長。某些瀏覽器也可能會停止所有JavaScript執行或無響應。

3

我不知道您是否可以強制使用Javascript暫停Flash影片,但是您可以隨時在Flash應用程序的AS代碼中創建暫停功能,然後使用Javascript調用該功能。 (如果您使用的是AS3,請嘗試使用Google搜索flash.external.ExternalInterface)

+2

問題是Flash遊戲是由其他開發者 –

1

檢出myswf.StopPlay()。從this tutorial得知它,自己還沒有嘗試過。因人而異。

+0

這個例子似乎並不適合我。 – LiraNuna

+0

我測試了它,由於文件中的安全限制,它不起作用。 –

+1

哦,好的。我的猜測是,由於安全限制,除非遊戲特別通過ExternalInterface調用啓用它,否則您嘗試的任何內容都不會起作用。 – zenazn