http://blog.csdn.net/xuguangsoft/article/details/8425623
锚点是定位和变换 *** 作的一个重点。锚点我们可以看成用一根图钉将一张纸或者相片钉在墙上的那个点。
节点的位置是由我们设置的position和anchorpoint一起决定的。
值得一提的是,anchorpoint的默认位置Layer的是左下,而其他的node是中点。
节点的原点是父节点的左下角。
[cpp] view plain copy cclayer*layer1=cclayercolor::create(ccc4(255,255),300,200); cclayer*layer2=cclayercolor::create(ccc4(255,100,100); addChild(layer1); layer1->addChild(layer2);
copy layer2->setposition(50,50);
可见Layer的锚点是左下角,节点的原点是父节点的左下角。
再看一个:
copy CCSprite*p1=CCSprite::create("HelloWorld.png",CCRectMake(100,100)); CCSprite*p2=CCSprite::create("girl1.png"); addChild(p1); p1->addChild(p2);//p2作为p1的子节点 setposition(200,200);//Layer的原点移到200,200
设置锚点:
Layer和Sprite有不同,layer要设置锚点,必须先:ignoreAnchorPointForposition(false);
copy addChild(layer1); layer1->addChild(layer2); /*layer1->ignoreAnchorPointForposition(false);*/ layer1->setAnchorPoint(ccp(0.5,0.5));copy layer1->ignoreAnchorPointForposition(false);
而Sprite不用设置即可。
copy p1->addChild(p2); p2->setAnchorPoint(ccp(1,1)); setposition(200,200);和前面第三个图比较一下就了解了。小女孩的锚点已经到了红色点位置
锚定点(setAnchorPoint)可以配置 0 到 1 之间的值,一般常用 0、0.5 与 1,分别表示 X 轴的左、中与右,或者 Y 轴的上、中与下,例如 [0,0] 表示左上,[1,1] 表示右下,[0.5,0.5] 表示正中。
总结以上是内存溢出为你收集整理的cocos2d-x AnchorPoint锚点全部内容,希望文章能够帮你解决cocos2d-x AnchorPoint锚点所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)