CCNode的tag
子类的添加函数:
l addChild(CCNode *pChild)
l addChild(CCNode *pChild, int zOrder)
l addChild(CCNode *pChild, int zOrder, int tag)
说明:
1.CCLayer与CCSprite均继承自CCNode,通过上面的函数可以添加;
2.zOrder默认为0,zOrder越大,该CCNode所在的层越高,低层会被高层遮挡;
3.Cocos2d-x中创建一个CCObject局部变量后,这个对象的内存管理就交给了Cocos2d-x来托管,开发者无需担心这个对象什么时候被删除,Cocos2d-x会在这个对象的应用数等于0时自动删除它并释放内存。
开发者应尽量将对象定义为局部变量,而不是成员变量,而此时Cocos2d-x提供给开发者一个tag来索引你需要操作的CCObject对象。
举例:
// 在init()中定义一个局部对象
bool MyScene :: init()
{
if( !CCLayer : init() )
{
return false;
}
CCSprite *sp = CCSprite :: create(“Icon.png”);
....
addChild(sp, 0, 111);
}
// 在其他函数中操作这个CCSprite对象
void MyScene :: testSprite()
{
CCSprite * sp = (CCSprite) this->getChildByTag(111);
sp->setRotation(45);
sp->setFlipX(true);
}