【问题标题】:Capabilities showing wrong information显示错误信息的能力
【发布时间】: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


【解决方案1】:

这是预期的行为。 Capabilities 类返回正确的值;这是您正在运行它的设备的屏幕分辨率(也不是 iPhone )。

您可以提交bug report/enhancement request。或者在实际设备上进行测试。总的来说,我发现模拟器在测试方面会受到打击或错过。

【讨论】:

  • 有人查看这些错误报告吗?
猜你喜欢
  • 1970-01-01
  • 2016-07-25
  • 2013-08-20
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
  • 2015-01-20
  • 2011-08-06
  • 1970-01-01
相关资源
最近更新 更多