void LogicTest::onEnter()
{
ActionManagerTest::onEnter();
CCSprite* grossini = CCSprite::create(s_pPathGrossini);
addChild(grossini, 0, 2);
grossini->setPosition(VisibleRect::center());
grossini->runAction( CCSequence::create(
CCMoveBy::create(1, ccp(150,0)),
CCCallFuncN::create(this, callfuncN_selector(LogicTest::bugMe)),
NULL)
);
}
上面一段代码取之于cocos2d-x事例学习项目中,CCsprite创建后,放到CCLayer中,这个addChild()函数是参数可变的函数,查阅资料后,分析下这三个参数的作用。
1).参数1的类型可以是CCSprite*,CCLayer*,CCNode*,指的是要加入场景对象的指针,添加为子成员。
2).参数2指要添加的Zorder的值,指的是该成员的层级(也可指深度),zorder大的成员在zorder小的成员上面,绘制层的顺序, 默 认参数值为0,表示最高优先层导入,该值越大表示该层在最后加载(在最高一层),一般背景图层是首先加载,其他元素在加载在背景层上面。因为背景在后面加载的话,会覆盖掉前面加载的元素,看不到想要的图层组合效果。
3).参数3tag指标签,是一个成员的标识,如果这个变量丢了,可以通过getchildbytag(tag)获取到这个成员
。
例如:CCSprite *sp1 = (CCSprite*)this->getChildByTag(tag),然后可以再下面的代码中对该精灵对象进行访问,添加动作等等。