升级到cocos2d-x 2.0.2代码差异
来自:http://www.cnblogs.com/TopWin/archive/2012/09/12/2682042.html
近期看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代码差异的更多相关文章
- 升级时出现:请先升级 UCenter 到 1.6.0 以上版本。
有的站点UCenter升级完成后仍然提示请先升级 UCenter 到 1.6.0 以上版本的现象,下面分享下UCenter版本号不正确的原因和处理办法,可能有以下的几个文件和处理办法: 一.UCent ...
- phpMyAdmin - 错误 您应升级到 MySQL 5.5.0 或更高版本,解决办法。。。
折腾自己的个人网站,装了个数据库管理工具,遇到您应升级到 MySQL 5.5.0 或更高版本... 采用降级phpmyadmin版本的方法解决了: 查找phpmyadmin/libraries/com ...
- iOS:xCode7版本运行xCode8.0的代码
怎么在xCode7版本上运行xCode8.0的代码? 1.右键你的"LaunchScreen.sb"文件并用编辑器打开sb 2.删掉"<capability nam ...
- #if 0在代码中的作用
#if 0在代码中有2个作用. 1.作为行内注释 /**/是多行注释,如果想在/**/里面嵌套一个多行注释,怎么办呢? /* int a=10; /* - (void)test{ NSLog(@&qu ...
- 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)
Cocos2d (v.3.0) rendering pipeline roadmap Why (the vision) The way currently Cocos2d does rendering ...
- itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码
导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景 像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...
- [2019BUAA软工助教]第0次代码作业
[2019BUAA软工助教]第0次代码作业 前言 本博客为完成结对项目所需的先导知识,题目不难,请认真对待 :) 欢迎来到软件工程 :) 注:本次实验为附加作业,不做不扣分,做了有附加分 Part 0 ...
- [2019BUAA软工]第0次代码作业
Visual Studio 单元测试的简单应用 写在前面 笔者根据作业的介绍以及Visual Studio 2017 文档的相关说明,进行了Visual Studio 单元测试的简单应用. Tip ...
- AS3.0纯代码编写的两款loading效果
AS3.0纯代码编写的两款loading效果 效果一 效果二 代码很简单,实现的原理一样,只不过矩形用到了Matrix类,对注册点进行了调整,效果可用于视频播放器缓冲时的loading效果,下面看代码 ...
随机推荐
- 3xx Redirection
3xx Redirection This class of status code indicates the client must take additional action to comple ...
- ORACLE—005:创建JOB(二)
假设须要创建带參数的job,怎样创建呢. 我们直接将參数声明.并赋值.然后传给job调用的存储过程就可以. 比如.存储过程名为Pro_Test_JOB,參数共同拥有一个.是VARCHAR2类型. 创建 ...
- Java-WebSocket 项目的研究(三) WebSocketClient 类 具体解释
通过之前两篇文章 Java-WebSocket 项目的研究(一) Java-WebSocket类图描写叙述 Java-WebSocket 项目的研究(二) 小试身手:client连接server并发送 ...
- dom4j的用法
package xml; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; impor ...
- hdu5172(线段树)
传送门:GTY's gay friends 题意:判断区间[l,r]内的数字是否符合1~len(r-l+1)的一个全排列. 分析:pos[i]记录数字i出现的最大位置,pre[i]记录在位置i的数字a ...
- Struts2 后台action接收 jsp页面中checkbox中的值
如前端页面jsp中的标签为: <form action="myurl"> <input type="checkbox" name=" ...
- ImageMagick的安装及使用
近期在使用ImageMagick处理酒店团购图片,写篇博客小小的总结下它的安装及使用方法.ImageMagick是一套功能强大且免费的图片处理开发包,能够用来读,写和处理多种格式的图片文件,总之非常强 ...
- ORA-00210 ORA-15001 ORA-15055 ORA-01031: insufficient privileges
ORA-00210: cannot open the specified control file ORA-00202: control file: '+DATA/posdb/con ...
- Codeforces Round #253 DIV1 C 馋
http://codeforces.com/contest/442/problem/C 题意非常easy,基本上肯定有坑坑洼洼的样子.看题目案例,从第三个跟第二个没有凹的案例来看的话,多写几个以及多画 ...
- LINUX设备驱动程序的注意事项(两)建设和执行模块
<一>:设置測试系统 首先准备好一个内核源代码树,构造一个新内核,然后安装到自己的系统中. <二>:HelloWorld模块 #inclu ...