2

この記事に書かれている 3 番目のマルチ解像度テクニックを使用しています。

スケール ファクターとステージ サイズを決定するために、Jeff によって最初に作成された次のコードを使用しています。

        if (Capabilities.screenDPI >= 200) {
            if (Capabilities.screenDPI >= 280) {
                AssetFactory.contentScaleFactor = 2;
            }
            else {
                AssetFactory.contentScaleFactor = 1.5;
            }
        }
        else {
            AssetFactory.contentScaleFactor = 1;
        }

        var mViewPort:Rectangle = new Rectangle(0, 0, stage.fullScreenWidth, stage.fullScreenHeight);

        mStarling = new Starling(Startup, stage,mViewPort);
        mStarling.stage.stageWidth = stage.fullScreenWidth /  AssetFactory.contentScaleFactor;
        mStarling.stage.stageHeight = stage.fullScreenHeight / AssetFactory.contentScaleFactor;

次に、この倍率を使用して、選択する必要があるアセットのサイズを決定します。

これで、ステージの幅とサイズに合わせてストレッチする背景ができました。この手法は、ほとんどのデバイスでテストしているときにうまく機能しますが、Barnes や Noble Nook Color などのデバイスも使用しています。

デバイスの解像度は 600x1024、170 dpi です。これは、最小のアセット (320x480) を選択し、600x1024 にストレッチすることを意味します。もちろん、どれがピクセル化されていますか。この問題を乗り越える方法についてのアイデアはありますか?

問題を詳細に示すテスト アプリケーションも添付しています https://dl.dropbox.com/u/2192209/scaling%20test.zip

4

2 に答える 2

1

最大縮尺の設定はどうですか?上記の計算の結果、より大きなスケールになる場合は2、より大きなアセットを使用してスケール比を減らします。

計算には screenDPI のみが含まれます。それらを画面解像度と組み合わせてみてください。

于 2014-03-27T08:01:42.143 に答える