我正在使用本文中所写的第三多分辨率技术
为了确定比例因子和舞台大小,我使用了最初由 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