初学Cocos2dx,记录下自己学习过程中的理解,以及自认为容易忘记的知识点。
在Cocos2dx中有两种坐标表示方法:OpenGL坐标和UIKit坐标。
OpenGL坐标是通常我们所使用的坐标系:坐标原点在左下角,右边是X轴,上边是Y轴。
UIKit坐标不同的是:坐标原点在左上角。X轴还是横轴。Y轴仍为竖轴。
坐标转换方法为:
//从OpenGL坐标转换成UIKit坐标
CCPoint point = CCDirector::sharedDirector()->convertToUI(sp1->getPosition());
//从UIKit转换成OpenGL坐标
CCDirector::sharedDirector->convertToGL()
通常在Cocos2dx中使用的坐标默认是OpenGL坐标系表示。
在窗口中放置对象时(如图像等),默认的是从左下角开始算偏移量,坐标偏移是相对于图像的锚点来计算的,锚点的位置默认在图像中心位置。例如:将一副图像放在窗口位置(0,0),就是将图像的中心点(锚点)放置在该原点位置。可以用精灵来将加载图像,然后将精灵放置在层(CCLayer)中。放在哪个层,坐标的原点就是哪个图层的左下角。
图1 将图像放在窗口的(100,100)位置,即图像的锚点放在(100,100)。
图2 将图像放在窗口的(0,0)位置,显示为图像的中心点(锚点)在窗口的坐标原点。