理解Cocos2d中的anchorPoint与position

anchorPoint(锚点)



作为一个新手的我看到这里就迷茫了?查看了一些资料后明白了,分享下自己粗糙的理解,希望对刚学习的人有帮助。

不说那些概念,例如几何中心点等等。


屏幕上所有的图片都都看成矩形,假如有一方形的相册(比如结婚照)挂在墙上,现在我想往其上订一个钉子,那钉子订在相册的什么地方呢?


anchorPoint(锚点)的取值范围0~1,其实anchorPoint就是描述钉子订在相册什么地方的!
0,0表示订在相册左下角,
1,1表示订在相册右上角
0.5,0.5表示订在相册的中心点.

0,1表示订在相册的左上角

1,0表示订在相册右下角


       假设相册现在处于一个平面坐标系中,坐标原点假设是挂着相册那面墙的某个墙角,那position什么作用呢?我们现在知道anchorPoint是描述钉子订在相册的什么地方,但相册的位置我们知道吗?下面就来说这个。假如现在我知道 anchorPoint0,0,意思就是说钉子现在订在相册的左下角,如果假设position为 (300,300),意思就是现在钉子的位置为(300,300),然后又知道钉子订在了相册的左下角。那相册的位置(坐标)就知道了(可以用尺子量下相册的宽和高)。延伸一下,anchorPoint不一定非要订在相册的几个角或者中心点上,anchorPoint可以取值0.3,0.7等等

2.position

那么锚点我们已经知道表示的是什么了,那么这个锚点在屏幕上到底指的的是哪一点呢?我们只说过锚点是相对与图片来说的,并没有说在屏幕上表示哪一点啊?这时,就需要用到position了,position表示的就是先前设定的锚点anchorPoint在屏幕上的具体坐标,如:sprite.position=ccp(100,100);就表示锚点在屏幕上的坐标(100,100)处,如果我们的锚点anchorPoint设置为(0.5,0.5)的话,就表示图片上(50%,50%)处的那个像素点要被设置到屏幕上的(100,100)坐标处。那么相应的图片的其他像素点就这个锚点为基准,放到对应的位置上了,就达到了定位图像的目的。其实锚点还有以一个作用,那就是当做旋转的,这才是anchorPoint定义的初衷。

说了这么多,其实position 与 anchorPoint表示的是同一个点,只不过anchorPoint是相对于图像来说的,而position是相对于屏幕来说,position是anchorPoint在实际屏幕中的位置;

cocos2d-x坐标系和锚点整理



http://hi.baidu.com/zfpp25/item/49ba2b38b7ea9c382e20c4f1


http://blog.csdn.net/xuguangsoft/article/details/8425623



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值