在cocos2d-x 2.2版本里提供的例子里 TestCpp
其中有一个ActionsTest
在ActionsTest.cpp有这么一段代码
void ActionsDemo::restartCallback(CCObject* pSender)
{
CCScene* s = new ActionsTestScene();
s->addChild( restartAction() );
CCDirector::sharedDirector()->replaceScene(s);
s->release();
}
void ActionsDemo::nextCallback(CCObject* pSender)
{
CCScene* s = new ActionsTestScene();
s->addChild( nextAction() );
CCDirector::sharedDirector()->replaceScene(s);
s->release();
}
void ActionsDemo::backCallback(CCObject* pSender)
{
CCScene* s = new ActionsTestScene();
s->addChild( backAction() );
CCDirector::sharedDirector()->replaceScene(s);
s->release();
}
```
现在有一事不明:为什么每次都是要new ActionsTestScene()一个场景实例,再把CCLayer添加上去,然后再替换场景?
而不是直接替换场景里的CCLayer对象呢
nextAction(), restartAction(), backAction()返回的是一个CCLayer实例