最近看cocos2d-x 2.0.2发布后升级了一下,升级后发现又出现了很多错误,原来有一些地方的代码用法改变了。在修改代码的过程中,简单做了一些记录,当做是一个备忘录。

1、CCScene和CCLayer的初始化统一用create()函数进行创建。

//升级前代码
CCScene *scene=NULL;
do
{
scene=CCScene::node();
CC_BREAK_IF(!scene);
GameScene *layer=GameScene:: node();
CC_BREAK_IF(!layer);
scene->addChild(layer);
}while(0);
//升级后代码
CCScene *scene=NULL;
do
{
scene=CCScene::create();
CC_BREAK_IF(!scene);
GameScene *layer=GameScene:: create();
CC_BREAK_IF(!layer);
scene->addChild(layer);
}while(0);

2、取消了CCMutableArray,借用CCArray来代替

//升级前代码
//定义
CCMutableArray<cocos2d::CCSprite *> *GameScene::snakeSprites=NULL; //初始化
snakeSprites=new CCMutableArray<CCSprite *>(len); //遍历
for(int i=1;i<len;i++)
{
part=world->snake->parts->getObjectAtIndex(i);
}
//升级后代码
//定义
CCArray* GameScene::snakeSprites = NULL; //初始化
snakeSprites = new CCArray(len); //遍历
for(int i=1;i<len;i++)
{
part=(SnakePart*)world->snake->parts->objectAtIndex(i);
}

另外,CCArray可以通过CCARRAY_FOREACH来进行遍历;

CCArray* array1 = new CCArray();

CCObject* arrayItem;
CCARRAY_FOREACH(array1, arrayItem){
CCSprite* pItem = (CCSprite*)(arrayItem);
}

3、cocos2d::ccTime统一用float进行代替。

//升级前代码
void updateReady(cocos2d::ccTime dt);
//升级后代码
void updateReady(float dt);

4、CCTouchDispatcher::sharedDispatcher()和CCDirector::sharedDirector()合并

//升级前代码
CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,kCCMenuTouchPriority,true);
//升级后代码
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, kCCMenuHandlerPriority, true);

5、一些get、set函数发生改变,比如setIsVisible变成setVisible,setIsTouchEnabled变成等setTouchEnabled等等;

//升级前代码
snakeSprite->setIsVisible(isVisible); this->setIsTouchEnabled(true);
//升级后代码
snakeSprite->setVisible(isVisible); this->setTouchEnabled(true);

其它的改变在使用过程中如果再遇到再继续添加。

最新文章

  1. linux下动态链接库解决方案(一)
  2. 【iCore3 双核心板】例程十五:USB_CDC实验——高速数据传输
  3. unity --项目总结
  4. tuple内部方法
  5. Android中LayoutParams
  6. Maven项目的目录结构
  7. Dynamics CRM 2013 初体验(5):Business Rule
  8. 第4章 分治策略 monge阵列
  9. 2.3 InnoDB 体系架构
  10. amazeui表单form异步提交方法
  11. Python入门-Hello Word
  12. Grafana数据可视化
  13. 比较不错的几款开源的WPF Charts报表控件
  14. iis支持asp.net4.0的注册命令使用方法
  15. python3.5 安装python3-tk
  16. Fig723.asy
  17. 学习Java的必要知识点记录
  18. 51nod 1623 完美消除(数位DP)
  19. 【EGit】The current branch is not configured for pull No value for key branch.master.merge found in config
  20. Android 再按一次退出应用的代码

热门文章

  1. BM25 调参调研
  2. EsayUI + MVC + ADO.NET(工作单元)
  3. ASCII 和 Unicode 编码的由来
  4. WebAPI获取客户端请求数据
  5. Oracle 千万级别数据查询优化
  6. 雷林鹏分享:Ruby 判断
  7. codeforces 700a//As Fast As Possible// Codeforces Round #364(Div. 1)
  8. hdu-4289 最大流Dinic模板题
  9. FREETEXTBOX
  10. Spring boot 嵌入的tomcat不能启动: Unregistering JMX-exposed beans on shutdown