锚点的问题

CCScene *scene = CCScene::create();//创一个场景
CCSprite *back_spr = CCSprite::createWithTexture(sqr->getSprite()->getTexture());//用纹理创一个精灵
scene->addChild(back_spr);//把精灵加到场景里面
CCPoint p1 = scene->getAnchorPoint();//获取到的p1(0.5,0.5)
CCPoint p= scene->getPosition();//获取到的p(0,0)
CCSize s = scene->getContentSize();//获取到的s (800,480) 我的设计大小就是这么大

back_spr->setAnchorPoint(ccp(0.5f,0.5f));//精灵的锚点(0.5,0.5)
back_spr->setPosition(ccp(0, 0)); //精灵的位置(在场景的(0, 0)处)

结果的显示如图,为什么不是在屏幕的中心,难道场景本来就是显示四分之一

肯定不在啊- -!setPosition(ccp(0, 0)) 这就是把锚点设置到场景(0,0)这个位置! 你锚点设置为(0.5,0.5)锚点就是在图片正中心…

你把锚点设置成(0,0)就可以了

场景的锚点位置是在左下角还是屏幕中间

关场景锚点什么事情= =!这是坐标系的问题…
http://cn.cocos2d-x.org/article/index?type=wiki&url=/doc/cocos-docs-master/manual/framework/native/wiki/coordinate-system/zh.md

如果场景的锚点位置在屏幕左下角,那么按道理场景只能显示一半,因为他的锚点是(0.5,0.5)
如果场景的锚点位置在屏幕中间 ,那么精灵就应该显示完全,因为精灵的锚点是(0.5,0.5),位置是(0,0),与父节点场景的锚点是同一个位置

那文章我看了,就是感觉你们的场景锚点位置有问题

是不是子节点的锚点位置是相对于父节点的左下角,不是相对于父节点的锚点

在Layer和Scene中锚点设置是被忽略的…
_ignoreAnchorPointForPosition = true;

是不是忽略之后,他的子节点锚点坐标就相对于他的左下角了

我的理解是…是。楼主有兴趣的话也可以去看看相机的移动…这有篇相机的

http://cn.cocos2d-x.org/tutorial/show?id=2275

ok,谢谢,这样的话就可以想通了