按照下面3点进行代码优化:
1、 现在点击海洋世界的关卡,将调用addPlayerAnimation() 方法,把角色需要的动画都缓存到内存,因为这个动画跟角色相关,所以应该把角色动画添加到RicherPlayer类中,当某个角色退出游戏后,便于清理,也便于管理、调用。
2、 当调用角色的startGo(),会调用到RicherGameController类中,但是我们现在每次调用RicherGameController,都会create一个对象,不应该啊。
3、 RicherGameController类应该只处理逻辑相关的,其他跟逻辑无关的我们应该尽量转移到相应类中处理
针对第一点:
把方法void GameBaseScene::addPlayerAnimation() 从GameBaseScene中移除到 RicherPlayer类中。这样连带也需要修改RicherPlayer的create方法,给RicherPlayer的create方法传入一个tag标示,根据标示引用相应的图片创建角色
针对第二点:
把RicherGameController改为单例
针对第三点:
移除掉里面的动画创建的代码,移动到RicherPlayer类中处理。
好了就修改了这些,大家可以用beyondCompare比较一下2个工程的区别看看,改动不大,感觉逻辑比以前要好多了。
点击下载代码 http://download.csdn.net/detail/lideguo1979/8296883
未完待续......................
原文链接:https://www.f2er.com/cocos2dx/345302.html