我在 Flex 移动纸牌游戏中使用applicationDPI :
<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
firstView="views.Menu"
applicationDPI="160"
initialize="init()">
<fx:Style source="Preferans.css" />
<fx:Script>
<![CDATA[
import spark.core.ContentCache;
public static const AVATAR_CACHE:ContentCache = new ContentCache();
public static var SCALE:Number;
public function init():void {
SCALE = runtimeDPI / applicationDPI;
}
]]>
</fx:Script>
</s:ViewNavigatorApplication>
并在此基础上提供 3 种不同分辨率的资产:
<fx:Declarations>
<s:MultiDPIBitmapSource id="BACK"
source160dpi="@Embed('assets/icons/low-res/back.png')"
source240dpi="@Embed('assets/icons/mid-res/back.png')"
source320dpi="@Embed('assets/icons/high-res/back.png')"/>
</fx:Declarations>
结果仍然看起来不太好,例如,当我在 Flash Builder 4.6 中选择 iPad 模拟器时:
虽然选择 Google Nexus One 会产生更好的结果:
在这里做什么,用什么来检测手机和平板设备?
检查屏幕分辨率在这里没有帮助 - 请参阅上面的 iPad 示例(低分辨率,但大屏幕)。