加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx 坐标系统详解

发布时间:2020-12-14 17:26:30 所属栏目:百科 来源:网络整理
导读:1、在cocos2dx中,支持以下坐标系: ● 屏幕坐标系: 原点在左上角,X轴向右,Y轴向下。(比如处理触摸事件时CCTouch对象中的坐标就是屏幕坐标系) ● OpenGL坐标系: 原点在左下角,X轴向右,Y轴向上。(比如CCNode类的setPosition函数调用就是此坐标系) ●

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),默认是忽略锚点

//默认返回true

所以,如果要在CCLayer和CCSense中设置锚点,要如下设置

?
1
2
3
4
CCLayer* layer1 = CCLayerColor::create(ccc4( 255 , 0 ),0)!important">300 200 );
addChild(layer1);
layer1->ignoreAnchorPointForPosition( false ); //设置不忽略锚点,此时锚点会变为默认的(0.5,0.5)
layer1->setAnchorPoint(ccp( )); //然后再这里设置自定义锚点

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

相关内容
推荐文章
站长推荐
热点阅读