2012-05-18 161 views
1

使用Capabilities訪問信息時,我得到的值不正確。顯示錯誤信息的功能

var screenX:Number = Capabilities.screenResolutionX; 
var screenY:Number = Capabilities.screenResolutionY; 
var pixelCheck:Number = screenX * screenY; 
var pixels:Number = (screenX*screenX) + (screenY*screenY); 
var screenSize:Number = Math.sqrt(pixels)/Capabilities.screenDPI; 
var screenDpi:Number = Capabilities.screenDPI; 

trace("screenX : " + screenX); 
trace("screenY : " + screenY); 
trace("pixelCheck : " + pixelCheck); 
trace("pixels : " + pixels); 
trace("screenSize : " + screenSize); 
trace("screenDpi : " + screenDpi); 

當我在flex模擬器上調試這個,對於iphone 4,我得到以下結果。

screenX : 1280 
screenY : 1024 
pixelCheck : 1310720 
pixels : 2686976 
screenSize : 5.028220260069967 
screenDpi : 326 

的屏幕DPI是正確的,但由於iPhone擁有的640×960的分辨率,爲什麼它顯示不同的值。

+2

我認爲它是顯示您的系統屏幕的rezolution,但不是從模擬器。試試:'Capabilities.os',找出Flash Player是哪個宇宙。 –

+0

是的,Capabilities.os給Windows 7 – frewper

+0

好吧,我在一個物理的Android設備上執行應用程序,並得到了它的確切分辨率。所以它只是一個問題,它實際上獲得了計算機的分辨率和操作系統。 – frewper

回答

0

這是預期的行爲。 Capabilities類正在返回正確的值;這是您運行它的設備(又稱不是iPhone)的屏幕分辨率。您可以申請bug report/enhancement request。或者在實際設備上進行測試。總的來說,我發現仿真器在測試方面受到打擊或遺漏。

+0

任何人檢查那些錯誤報告? –