之前一直没有用过anchorPoint,也感觉用这个东西的地方相对比较少的,都是直接使用世界坐标来定位的。
但是,在现在这个项目中,却有同事使用了这个anchorPoint,使用是使用了,但是,在碰撞的时候,还是没有把坐标值转回来,导致碰撞检测的时候,无法检测正确。
现在就来谈一下使用anchorPoint的体会。anchorPoint是把当前对象作为相对参考点。
1. anchorPoint的取值范围是0 - 1
CCSprite *sprite= CCSprite::create("Images/r1.png"); sprite->setAnchorPoint( CCPointZero );
当值为0,0值: 则为左下角,左下角的表示是创建后的新图左下角为原图的中心点。
当值为1,1值: 则为右上角,右上角的表示是创建后的新图右上角为原图的中心点。
当值为0.5,0.5值: 则为中心点,表示是创建后的新图的中心点,为原图的中心点,则两个图片位置上是一致的。
设置anchorPoint的图片,就相当于一个0,1的矩形框,而这个矩形框是从0,0开始的,设置的值,就是矩形框的点,而这个点就落到原图的中心点,就是anchorPoint图片的显示位置。