Cocos2d iphone CCMenu中的定位点或cocos2d中的CCLayer

Cocos2d iphone CCMenu中的定位点或cocos2d中的CCLayer,cocos2d-iphone,anchor,cocos2d-x,Cocos2d Iphone,Anchor,Cocos2d X,我理解精灵锚定点的概念。 (它告诉纹理的哪个点将位于精灵的位置。例如,如果anchorPoint=(1,0),纹理的右下角将位于精灵的位置) 我在看cocos2d-x的CCMenu源代码,它在init方法中设置了锚点、m_bIsRelativeAnchorPoint和位置 当CCMenu显然没有与之关联的纹理时,有人能解释一下这些变量在这里的含义吗?您理解得不对。锚定点与精灵的纹理无关。它仅与节点的contentSize相关。就CCSprite而言,它的内容大小自动设置为图片的大小(甚至不是纹理

我理解精灵锚定点的概念。
(它告诉纹理的哪个点将位于精灵的位置。例如,如果anchorPoint=(1,0),纹理的右下角将位于精灵的位置)

我在看cocos2d-x的CCMenu源代码,它在init方法中设置了锚点、m_bIsRelativeAnchorPoint和位置


当CCMenu显然没有与之关联的纹理时,有人能解释一下这些变量在这里的含义吗?

您理解得不对。锚定点与精灵的纹理无关。它仅与节点的contentSize相关。就CCSprite而言,它的内容大小自动设置为图片的大小(甚至不是纹理,因为大小为129x129的图片的纹理大小为256x256)

定位点和纹理坐标不同

这里有一个关于Cocos2D锚点的好帖子:

sprite的旋转、缩放和定位是相对于该锚点完成的。例如:

sprite.anchorPoint = ccp(0.5,0.5);
假设精灵宽度=w,精灵高度=h

在这种情况下,当您访问sprite的position属性时,它会给出像素所在的位置 点(宽x 0.5,高x 0.5)位于父节点中。旋转也做在同一点上