cocos2dx --- anchor point
在做物体的旋转的时候,遇到此问题。那么怎么理解AnchorPoint?
1.sprite之Anchor Point 特性:
1).anchor是一个CGPOINT,取值在(0.0f, 0,0f) 到 (1.0f, 1.0f)之间。
2).(0.0f, 0.0f)是这个CCSprite矩形区域的左下角,(1.0f, 1.0f)是右上角。
3).anchor决定了这个sprite的position指的是图片中哪个部分的位置,比如anchor在(0.0f, 0.0f),position在(100, 100),则这个sprite的左下角将被放在(100, 100)。
4).anchor决定对这个sprite进行旋转的原点。
5).anchor决定了对这个sprite进行缩放的原点。
2.cocos2dx中sprite的位置有两个因素确定:position和anchor point。默认情况下,anchor point在sprite的中心位置。Anchor point 不关注物体的大小而取其对应比率。当设置物体的position后,当在屏幕上显示时,需要知道图片上的点是怎样在屏幕上安排位置的。以acPos为sprite在屏幕上的实际位置,pos为设置位置,anP为anchor point;sprite的宽和高为width和height。其关系如下:
1 acP.x = pos.x + width *(0.5 - anP.x); 2 acP.y = pos.y + height*(0.5 - anP.y);