座標系有兩種劃分方式:屏幕UI座標和OpenGL座標。
屏幕UI座標:原點在屏幕的左上角,X軸向右,Y軸向下。ios,android和windows phone使用的是屏幕座標系。(觸屏事件中getLocationInView()方法獲取的是UI座標)
cocos2dx座標系和OpenGL座標系一樣,原點在屏幕的左下角,X軸向右,Y軸向上。(XY軸和中學課本上一致,放置精靈啊什麼的其實用的這個座標系,觸屏事件中getLocation獲取的是GL座標)。
以上兩種座標系可通過Director類的方法進行相互轉換。方法分別爲:Vec2 convertToUI(const Vec2& point)和Vec2 convertToGL(const Vec2& point);
如果我們獲取了UI座標,在給對象setpoint時需要注意轉換成GL座標。
示例如下:
Vec2 Touch_Point; (定義精靈等對象安放的座標點)
//Touch_Point=Director::getInstance()->convertToGL(touch->getLocationInView());
Touch_Point=touch->getLocation();