cocos2d-x 知识小结(1)zorder和tag

时间:2025-02-14 09:07:14

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">一、zorder</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">zorder表示ccnode的渲染顺序。默认为0,值越大越后渲染。zorder针对的是同一父节点的ccnode所说,对于不同的节点是没有任何比较的意义的。</span>

例子:

//得到窗口的尺寸
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //创建精灵
CCSprite* sprite1 = CCSprite::create("CloseNormal.png");
addChild(sprite1); //设置精灵的位置
sprite1->setPosition(ccp(winSize.width/2, winSize.height/2)); CCSprite* sprite2 = CCSprite::create("HelloWorld.png");
addChild(sprite2); //设置精灵的位置
sprite2->setPosition(ccp(winSize.width/2, winSize.height/2));

渲染结果是helloword的图片遮挡了关闭按钮的图片,这是因为在zorder相同的时候,后添加的ccnode将要被后渲染。

但是如果将addChild(sprite1)修改为addChild(sprite1, 1),则关闭图片将会在helloworld图片之上。

二、tag

tag是标识一个ccnode的唯一索引,通过getChildByTag(tag)来获得ccnode