最近看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);

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

cocos2d-x 2.0.2升级后某些函数变化(转)的更多相关文章

  1. 升级_宽视野Oracle图形升级(升级后dbca建库)—10.2.0.1.0提拔10.2.0.5.0

    ***********************************************声明**********************************************  原创作 ...

  2. mac版chrome升级到Version 65.0.3325.18后无法打开百度bing搜狗

    mac版本chrome升级到Version 65.0.3325.18后发现突然无法访问百度,搜狗,bing,神马等一系列的国内搜索引擎网站.连百度的儿子们比如知道,百度百科都无法访问. 1.首先想到的 ...

  3. Android Studio升级到0.8.1后怎样设置字体大小?

    升级到0.8.1后.打开设置字体大小页面.你会发现无论是Default还是Darcula,都不同意你改变字体的大小.事实上这个是由于这两个模式是Android Studio自带模式,所以不同意你修改, ...

  4. Linux下Oracle 10.2.0.1升级到10.2.0.4总结

    最近部署测试环境时,将测试环境ORACLE数据库从10.2.0.1升级到了10.2.0.4,顺便整理记录一下升级过程. 实验环境: 操作系统:Oracle Linux Server release 5 ...

  5. 关于kali2.0rolling中metasploit升级后无法启动问题的解决总结

    最近在学习metasploit的使用,文中提到可以使用msfupdate命令来对metasploit的payload.exploit等进行升级,我就试了一下,没想到升级过程并不麻烦,但升级后却出现了无 ...

  6. centos 7 升级后yum install出现Exiting on user cancel

    centos 7 升级后yum install出现Exiting on user cancel centos 7.x升级后用yum install进行安装时经常出现Exiting on user ca ...

  7. Asp.net Core 1.0.1升级到Asp.net Core 1.1.0 Preview版本发布到Windows Server2008 R2 IIS中的各种坑

    Asp.net Core 1.0.1升级到Asp.net Core 1.1.0后,程序无法运行了 解决方案:在project.json中加入runtime节点 "runtimes" ...

  8. Android Studio升级后projectBuild failed.

    近期在升级Android Studio后,发现原先能编译通过的project,突然就编译只是了,原因是生成的AndroidManifest.xml文件里有乱码. 升级后: android studio ...

  9. 【Android Studio安装部署系列】三十五、从Android studio3.0.1升级到Android studio3.1.4【以及创建android p模拟器的尝试(未成功)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 因为想要使用Android P模拟器,所以需要将Android Studio升级到3.1版本以上. Android P模拟器的最低版 ...

随机推荐

  1. axis2框架用wsdl文件生成的服务端MessageReceiveInOut文件注意事项

    在用axis2生成服务端文件和客户端文件,当客户端文件调用服务端文件时,都是通过wsdl文件生成的 配置文件进行相互的调用. 在一开始做开发测试的时候,通过soapUI进行调用接口的时候,可以调用成功 ...

  2. 【TCP/IP详解 卷一:协议】第一章概论 学习笔记

    第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...

  3. PTA第三次上机

    5-1 #include <iostream> #include <cstdlib> #include <string.h> using namespace std ...

  4. 初识C++继承

    先是自己凭借自己在课堂上的记忆打了一遍.自然出了错误. //编译错误 #include <iostream> #include <cstdlib> using namespac ...

  5. 51nod 1102 面积最大的矩形(单调栈)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1102 题意: 思路: 做法就是求出每个长方形向左向右所能延伸的最大距离. ...

  6. [设计模式][C++]单例模式

    参考:http://blog.csdn.net/hackbuteer1/article/details/7460019 单例模式意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有 ...

  7. 查找并替换字符串 Find And Replace in String

    2018-07-29 17:08:15 问题描述: 问题求解: 字符串替换的问题有个技巧就是从右向左进行替换,这样的话,左边的index就不需要考虑变动了. public String findRep ...

  8. C#通过XElement写入XML文件

    首先我们先看一下最终结果,如下: <?xml version="1.0" encoding="utf-8"?> <config> < ...

  9. Selenium之Action Chains类

    Action Chains类常用于模拟鼠标的行为,比如单击,双击,拖拽等行为,使用下面的方法导入Action Chains类 from selenium.webdriver.common.action ...

  10. python-day36--并发编程之多线程

    十三.死锁.递归锁 1.所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永 ...