1、在cocos2dx中,支持以下坐标系: ● 屏幕坐标系: 原点在左上角,X轴向右,Y轴向下。(比如处理触摸事件时CCTouch对象中的坐标就是屏幕坐标系) ● OpenGL坐标系: 原点在左下角,X轴
1、在cocos2dx中,支持以下坐标系:
● 屏幕坐标系: 原点在左上角,X轴向右,Y轴向下。(比如处理触摸事件时CCTouch对象中的坐标就是屏幕坐标系)
● OpenGL坐标系: 原点在左下角,X轴向右,Y轴向上。(比如CCNode类的setPosition函数调用就是此坐标系)
● 世界坐标系:指相对于整个屏幕的坐标系,(0,0)就是屏幕的左下角
● 本地坐标系:相对于父对象的坐标。
2、锚点(AnchorPoint)
● 一句话来描述就是:锚点我们可以看成用一根图钉将一张纸或者相片钉在墙上的那个点。
● 锚点的x和y取值范围在[0,1]之间。
● 精灵(Sprite)的锚点默认为(0.5,0.5),默认是不忽略锚点的,所以
? 1
virtual bool isIgnoreAnchorPointForPosition();
//默认返回false
● 其他节点比如说CCLayer和CCSense,锚点默认为(0,0),默认是忽略锚点
? 1
virtual bool isIgnoreAnchorPointForPosition();
//默认返回true
所以,如果要在CCLayer和CCSense中设置锚点,要如下设置
? 1 2 3 4CCLayer* layer1 = CCLayerColor::create(ccc4(
255
,
0
,
0
,
255
),
300
,
200
);
addChild(layer1);
layer1->ignoreAnchorPointForPosition(
false
);
//设置不忽略锚点,此时锚点会变为默认的(0.5,0.5)
layer1->setAnchorPoint(ccp(
0
,
0
));
//然后再这里设置自定义锚点