CCNode的tag

CCNodetag

子类的添加函数:

l addChild(CCNode *pChild)

l addChild(CCNode *pChild, int zOrder)

l addChild(CCNode *pChild, int zOrder, int tag)

说明:

1.CCLayerCCSprite均继承自CCNode,通过上面的函数可以添加;

2.zOrder默认为0zOrder越大,该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);

}

你可能感兴趣的:(cocos2d-x)