在cocos中通过tag来管理节点是非经常常使用的:以下介绍一个关于在cocos中使用tag的实例;
typedef enum{ tag1 }Tag;
这里能够使用枚举类型,来为多个节点设置tag;
声明相关函数:
void createANode(); void setMoveWay(); void deleteIt(); Tag _tag;
包括创建节点。移动节点,销毁节点。
在.cpp文件里:
void HelloWorld::createANode() { auto sprite=Sprite::create("pea.png"); sprite->setPosition(Point(300,300)); addChild(sprite,0,tag1); } void HelloWorld::setMoveWay() { auto sp =getChildByTag(tag1); auto de =DelayTime::create(6.0f); auto move =MoveBy::create(6.0f,Point(400,0)); auto callback = CallFunc::create(CC_CALLBACK_0(HelloWorld::deleteIt, this)); auto sq =Sequence::create(de,move,callback,NULL); sp->runAction(sq); } void HelloWorld::deleteIt() { removeChildByTag(tag1,true); }
通过设置tag,在本层中实现节点的轻松调用;
在init()中:
this->createANode(); this->setMoveWay();
效果:
时间: 2024-11-07 22:43:49