2012-05-18 2 views
1

기능을 사용하여 정보에 액세스하는 중 잘못된 값이 표시됩니다.잘못된 정보 표시 기능

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 에뮬레이터에서 디버깅 할 때 아이폰 4에서 다음과 같은 결과를 얻는다.

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

화면 dpi는 정확하지만 iphone의 해상도는 640 X 960이므로 왜 다른 값을 표시합니까?

+2

나는 에뮬레이터가 아닌 시스템 화면에 대해 해상도를 보여주고 있다고 생각합니다. 시도 :'Capabilities.os', 우주 플레이어가 어떤 우주인지 파악합니다. –

+0

예, Capabilities.os는 Windows 7을 제공합니다. – frewper

+0

좋아, 실제 Android 장치에서 앱을 실행하고 정확한 해상도를 얻었습니다. 그래서 컴퓨터의 해상도와 운영체제를 실제로 구하는 flex 에뮬레이터의 유일한 문제입니다. – frewper

답변

0

이것은 예상되는 동작입니다. Capabilities 클래스가 올바른 값을 반환하고 있습니다. 이는 실행중인 기기의 화면 해상도입니다 (일명 iPhone이 아닙니다).

bug report/enhancement request을 제출할 수 있습니다. 또는 실제 장치에서 테스트하십시오. 전반적으로 에뮬레이터는 테스트 측면에서 타격을받을 수 있습니다.

+0

누구든지 버그 리포트를 확인합니까? –