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の例(低解像度ですが大画面)を参照してください。