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);

iPhone 4 のフレックス エミュレータでこれをデバッグすると、次の結果が得られます。

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

画面の dpi は正しいのですが、iPhone の解像度は 640 X 960 であるため、異なる値が表示されるのはなぜですか。

4

1 に答える 1

0

これは予期される動作です。Capabilities クラスは正しい値を返しています。これは、実行しているデバイスの画面解像度です (iPhone ではありません)。

バグ レポート/機能強化リクエストを提出できます。または、実際のデバイスでテストします。全体として、エミュレーターはテストの点でヒットまたはミスしていると思います。

于 2012-05-18T14:32:31.720 に答える