近来将引擎版本从2.0.4升级到2.1.5版本,其实是2.1.5b(带有Cocostudio解析库的版本,但这并不会影响效果)。
原先的自适应方案在Y轴上有一些偏差,特别是当前分辨率与设计分辨率相差很大时,Y轴上还是非常明显的。
目前的解决方案非常简单,仅需要设置设计时的分辨率即可:
在AppDelegate.cpp中:
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(640, 960, kResolutionExactFit);
其中,640 * 960 是设计时候采用的分辨率,第三个参数选择:kResolutionExactFit
在以下分辨率测试,完全没有问题,图缩放正确,坐标也正确:
480 * 640
480 * 800
480 * 768
480 * 854
640 * 960
600 * 800
以上仅有480 * 800经过真机测试,其余的仅是在PC上修改main.cpp的值。有条件的同志可以测试下,如果有误差,还麻烦告知。
在平时设计中,可以使用相对坐标,也可以使用绝对坐标。
例如:在640 * 960 下,有一个精灵坐标在(100, 200)。
当分辨率改为480 * 800时,引擎会自动折算, 大家自己试一下就知道了。
唯一有遗憾的在于字体大小,当修改为小与设计分辨率的分辨率时,字体会变小好多。这时候应该设置一个缩放因子,来扩大。具体方案测试后给出。