cocos2d 从v1.x升级到v2.x需要注意的几个地方

首先v1.x一些CCNode定位函数实现的有问题,导致返回的CCPoint的x坐标不正确(超出320后无变化),怀疑是其对屏幕旋转判断的不正确;而且这种现象在iOS 7.1之前的模拟器中运行都正常,在iOS8.x(我是8.4)上才会出现如上异常现象.
解决办法:
1.只在iOS 7.x之前的系统上运行(显然不靠谱)
2.升级cocos2d v1.x到 v2.x

其次在升级到v2.x后,对于高清屏的显示可能不是我们需要的,比如用tiledmap制作地图v1.x中显示正常,而在v2.x的高清屏中显示范围会大一倍,如下图所示,v1.x的显示(iphone4s之前):

cocos2d 从v1.x升级到v2.x需要注意的几个地方

上图明显没有应用高清屏的分辨率,同样代码在v2.x的高清屏中的显示:

cocos2d 从v1.x升级到v2.x需要注意的几个地方

这会导致原来的坐标定位(比如从触碰坐标到地图坐标的转换)会出现问题,如果不想动代码或修改地图,可以在层的init方法里将地图放大到2倍即可:

tileMap.scale = 2.0f;

再次,因为v1.x后台是openGL ES 1.0,二v2.x后台是openGL ES 2.0 所以一些GLES1.0的函数需要修改或删除

未完待续…

上一篇:iPhone 3GS升级到iOS5后不断重启


下一篇:货车帮CTO冯亮:利用阿里云服务,发展物流产业互联网