- 本帖最后由 小白 于 2013-2-20 15:58 编辑 *
最近遇到个问题,魔塔游戏进入楼梯传送点后正常情况应该是淡入淡出后,出现新地图。但是我的运行后淡入淡出后旧地图没了,新地图却不出来,一直黑的,代码如下
void GameScene::switchMap()
{
CCLayerColor *fadeLayer=CCLayerColor::create(ccc4(0,0,0,0));
fadeLayer->setAnchorPoint(CCPointZero);
fadeLayer->setPosition(CCPointZero);
addChild(fadeLayer,kFadeLayer,kFadeLayer);
CCAction *action=CCSequence::create(CCFadeIn::create(0.5f),CCCallFunc::create(this,callfunc_selector(GameScene::resetGameLayer)),NULL);
//fadeLayer->runAction(action);
this->getChildByTag(kFadeLayer)->runAction(action);
}
代码最后一句本来是注释掉的那句,出现问题,后来我改成了现在的那句,问题没了,正常出新地图。这是为什么啊?我觉得fadeLayer是局部变量可以直接使用,为何要费事用this->getChildByTag(kFadeLayer)?再说我看别人的代码也是直接用并没有出现那种问题。