我可以在AS3中獲得瀏覽器窗口的大小嗎?AS3:獲取瀏覽器窗口大小?
我發現的最好的方法是用Javascript獲取大小並將其作爲FlashVar發送到Flash。這種方法的一個限制是,如果窗口被調整大小,它不會給出當前的大小。
有沒有一種純粹的Flash方式來做到這一點?
我可以在AS3中獲得瀏覽器窗口的大小嗎?AS3:獲取瀏覽器窗口大小?
我發現的最好的方法是用Javascript獲取大小並將其作爲FlashVar發送到Flash。這種方法的一個限制是,如果窗口被調整大小,它不會給出當前的大小。
有沒有一種純粹的Flash方式來做到這一點?
這取決於您是否嘗試將swf設置爲全屏或僅爲其他目的獲取窗口尺寸。
如果你正在做全屏,你需要將你的設置爲NO_SCALE,並將你的flash對象嵌入到其高度和寬度參數設置爲100%的div中。要處理調整大小,您的Flash項目需要resize事件偵聽器(應用於舞臺),並且所有顯示對象都需要響應該大小調整偵聽器。一旦你的swf正確調整大小,你可以像已經提到的那樣使用stage.stageHeight/stageWidth在內部檢索確切的尺寸。
另一方面,如果您只想獲取窗口的角度,則需要使用ExternalInterface進行JavaScript調用。 jQuery有一些很好的工具來快速獲取屏幕尺寸。那麼它只是將數據發回閃存的問題。請記住,JavaScript也具有resize事件,並且您可以使用它來強制更新Flash中的狀態。
在序列的最初部分 - 在發送flashload時,您是正確的,但要響應屏幕大小更改,您需要應用其中一種技術。
祝你好運
如果您使用height: 100%; width:100%
嵌入swf,則可以使用stage.stageWidth
和stage.stageHeight
。如果情況並非如此,則可以使用ExternalInterface
實現與JavaScript的通信。