【发布时间】:2012-05-18 09:56:15
【问题描述】:
在使用 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 X 960,为什么会显示不同的值。
【问题讨论】:
-
我认为它显示的是系统屏幕的重新定位,但不是来自模拟器。试试:
Capabilities.os,找出 Flash 播放器在哪个宇宙中。 -
是的,Capabilities.os 提供了 Windows 7
-
好的,我在物理 android 设备上执行了该应用程序并获得了准确的分辨率。所以它唯一的问题是 flex 模拟器实际上获得了计算机的分辨率和操作系统。
-
@JevgenijDmitrijev 即使我在 Android 上运行代码,它仍将其报告为 Linux 3.10.73-gbc7f262
-
@IgorGanapolsky 是的,可能是这样。我的回答是从 2012 年回来的...... :) 从那以后很多事情可能已经改变......
标签: actionscript-3 apache-flex flexbuilder