【Android游戏开发二十一】Android设备谎言分辨率的解决方案!

【Android游戏开发二十一】Android设备谎言分辨率的解决方案!

[Android游戏开发27]详解游戏开发和工程下的hdpi、mdpi、ldpi资源文件夹及游戏高清版的设置今天有开发者问我为什么游戏开发要删除hdpi、mdpi、ldpi项目文件夹下的文件; 让我在下面详细解释:

首先,童鞋们,如果你看过我的文章《【Android游戏开发21】Android os设备谎言解析的解决方法!》这一节你应该知道,从Android 1.6及更高版本开始,Google增加了一个自动适配功能,方便开发者移植各种分辨率模型;

自动适配的原理很简单。 只要你创建的工程是1.6以上的,你就会在工程下看到三个文件夹:drawable-hdpi、drawable-mdpi、drawable-ldpi。 这三个文件夹分别放在高清分辨率下。 、中分辨率和低分辨率资源文件; 那么如果你的项目运行在高清分辨率下,系统会默认对drawable-hdpi文件夹下的资源进行索引.net 开发安卓游戏,其他类似;

那么既然系统会自动找到匹配的文件夹,那肯定会有找不到的情况。 例如,如果你的应用当前运行在高清分辨率下,假设代码中加载了一张“himi.png”的图片,系统会先去drawable-hdpi文件夹中寻找这张图片,如果可以'如果找不到,系统会在其他drawable下寻找,如果你真的把这个“himi.png”放在drawable-mdpi中,那么系统会默认放大图片; 反之,如果你以低分辨率运行并加载图片,一旦你将图片设置为高清drawable-dpi,系统将默认缩小图片;

总结一下:如果你的应用要适配高、中、低分辨率.net 开发安卓游戏,那么你需要在对应的文件夹下有3组图片,这样系统才会智能加载; 如果不想让系统智能搜索缩放,有两种方法可以解决:

1、删除drawable-hdpi、drawable-mdpi、drawable-ldpi这三个文件夹,新建一个drawable文件夹;

2.将资源文件放入assets中,因为assets中的资源系统永远不会为它生成id,所以不会被智能伸缩;

------------------下面介绍第二点,如何让你的游戏应用高清化

其实还是在《【Android游戏开发21】Android os设备分辨率的解决之道!》中介绍过,1.6 android有了智能判断后,得到的屏幕宽高其实是不准确的。 详见【Android游戏开发21】Android os设备谎言解析的解决方法! "; 那么这里要补充一件事:

如果你在 AndroidMainFest,定义就OK! 你会发现你的图片很清晰,其实也是android的自动缩放导致的。 如上所述,一般获取的分辨率都会不正常(小于正确的分辨率)。 那么一旦加上这句话,你的分辨率就正常了,那么游戏质量就明显高了。

这里再补充一下:一旦你定义了,就意味着1.5SDK的手机无法安装你的程序;

OK,继续忙3D道具技能特效,我们试试吧~