2011-11-06 51 views

回答

6

檢查如何做到這一點的屏幕對象:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Screen.html#includeExamplesSummary

你可以很容易地計算出你的NativeWindow的尺寸,然後發現它是在屏幕上,並看到這樣的界限:

var appBounds : Rectangle = stage.nativeWindow.bounds; 
var screen : Screen = Screen.getScreensForRectangle(appBounds)[0]; 
var screenBounds : Rectangle = screen.bounds; 
+0

此代碼崩潰我的調試器。 – 2013-05-18 02:25:36

4

另一種方法,除了chubbard的回答,是簡單地使用Capabilities類,這也適用AIR之外:

import flash.system.Capabilities; 

var screenWidth:Number = Capabilities.screenResolutionX; 
var screenHeight:Number = Capabilities.screenResolutionY; 
+0

這隻報告** Linux **屏幕分辨率,與** Android **的屏幕分辨率不同。所以對於Android來說,這是不正確的。 –

12

如果您在桌面上使用模擬器,Capabilities將返回您計算機的分辨率,但不會返回仿真設備的分辨率。
只需簡單地使用舞臺,這一點:

trace(stage.fullScreenWidth, stage.fullScreenHeight);

+1

這是更好的答案,因爲stage可用於任何DisplayObject。 – Bitterblue

+0

這應該是任何人來看看的答案。它非常準確,並使用屏幕初始化,而stage.nativeWindow.bounds保持爲空。 – snocavotia

+0

這會正確讀取Android屏幕分辨率嗎?可能不會,因爲它與** Capabilities.screenResolutionY ** –

0

設置舞臺縮放模式設置爲 「無邊框」:

import flash.display.StageScaleMode; 

stage.scaleMode = StageScaleMode.NO_BORDER; 
+0

相同這是什麼實現的? –