1.首先,在设计游戏的时候都有一个设计尺寸,这个尺寸就是我们在上面添加控件,做动作,等等的坐标依据,那么一般使用960x640的设计尺寸。比如在cocosStudio上创建一个960x640的层,那么在此基础上我们创建的所有Node都要以这个Layer的左下角为(0,0)点来计算坐标。
3.当游戏界面运行在宽度大于960的设备上时,比如1136x640,如果在界面上有960的黑色背景,那么此时就会看到屏幕上左边会有一段非黑的区域,此区域的宽度是(1136-960 )/2 = 88。出现这种情况的原因是,在1136的屏幕上,默认把layer放到居中位置,那么layer的原点就是(88,0),而我们在设计的时候,黑色背景的位置也在(88,0)的位置,就会留下一块黑边。
4.处理上面的问题:将背景层尺寸重置为1138x640,保证(0.5,0.5)的锚点在Layer的中心,在Layer上是(480,320),在屏幕上其实是(568,320)。 如果我们用(display.cx,display.cy)设置Layer上Node的中心点的时候,其实得到的是相对于Layer的(568,320),在屏幕上就会看到偏右,正确的做法应该还是设置在480的位置。
5.许多时候我们应该处理的是Layer左右需要贴边放置的控件,当display.width > 960 时,我们把左边的控件x-88,右边的控件x+88,这样就达到了适配的要求。