我正在構建混合交互AS3/AIR應用程序。我的一些場景使用常規的CPU渲染顯示類(flash.display.Sprite,flash.display.MovieClip),另一個高密度圖形模式使用Starling。我可以切換和愉快地使用這些,我可以在720p的窗口模式和全屏模式之間切換。AS3:使用Starling在Event.RESIZE上調整StageWebView的尺寸
但是,我只是添加了一個StageWebView來輕鬆添加一些基於HTML的內容,並且遇到了調整大小的麻煩。如果我沒有調用「new Starling()」,那麼當我從窗口切換到FullScreen時,StageWebView實例將正確調整大小以保持相同的相對屏幕尺寸。但是,一旦我創建Starling實例,StageWebView將無法在全屏上正確調整大小;它保留了最初指定的絕對尺寸。如果我沒有實例化Starling,則StageWebView會完美調整大小。
我是否需要Event.RESIZE的事件處理程序來專門調整StageWebView對象的viewPort成員?如何從原始固定窗口大小獲得正確的相對尺寸? (我試着看舞臺的寬度/高度,數字奇怪的大,AIR未能正確構建新的Rectangle)。
我將不勝感激任何解決此問題的任何示例代碼。謝謝。
它看起來像是我想stage.stageWidth(和高度,分別)時從stage.width錯誤地計算寬度。 是的,解決方案是手動處理調整大小,請參閱下面的答案。 –
你自己發佈的問題和答案中有很多錯誤的陳述。我的建議是刪除整個事情,因爲它無法幫助任何人。當然,StageWebView不會像你聲稱的那樣調整自身的大小,甚至在Flash中也沒有機制可以自動調整StageWebView的大小。只有編碼器可以通過將矩形對象傳遞給StageWebView視口來提供大小。我們現在只能得出結論:您的代碼和只有您的代碼正在創建問題,而您的答案只能解決您自己的代碼。 – BotMaster
如果應用程序轉換爲FULL_SCREEN_INTERACTIVE,則添加到沒有Starling的項目的StageWebView將相對於舞臺調整其大小。我有工作代碼證明了這一點。 –