在自学cocos2d-x时,因为版本问题,所以在看以前的教程视频的时候,发现很多地方报错,此处简单说一下对于sharedDirector()函数,在新版本怎么用(由于本人亦是小白,不当之处希望大神指正)
我是在切换场景时候,对于menuCloseCallback进行修改,函数体内原来的代码:
CCDirector::sharedDirector()->replaceScene(MyScene::scene())
其中有几处不同:
- 新版中略去了CC前缀,因此应改为Director
- VS显示Director中没有sharedDirector()函数,猜测应该是新版修改,通过观察其他现成代码,应该将sharedDirector()改成getInstance(),对于此函数的解释如图:
也是返回一个shared Instance,推测新函数是这个。 - 显示MyScene里面没有scene成员,虽然里面确实没有,但是跟着教程一步步来的,所以推测仍是版本问题。果然,在旧版中,类中第一个成员是CCScene* HelloWorld::Scene();
而在新版本里,变成了static cocos2d::Scene* createScene();
所以,我们还需要把scene改成createScene,这样子就能运行了
(ps:自己推测版本不同真的是太难了!!!)