`
runfeel
  • 浏览: 936257 次
文章分类
社区版块
存档分类
最新评论

【Cocos2d-X(2.x) 游戏开发系列之一】cocos2dx(v2.x)与(v1.x)的一些常用函数区别讲解!在2.x版CCFileData类被去除等

 
阅读更多


本站文章均为李华明Himi原创,转载务必在明显处注明:
转载自【黑米GameDev街区】原文链接:http://www.himigame.com/cocos2dx-v2-0/938.html

          ☞ 点击订阅 ☜
本博客最新动态!及时将最新博文通知您!

cocos2dx v2.0版本发布一段时间了,现在最新版本是cocos2d-2.0-rc2-x-2.0.1 ;这段时间Himi对2.x的更新版也有关注,也尝试使用过,发现不少地方都有改动,对于Himi最新项目快到尾声的考虑,所以也没有更新引擎到最新。那么今天开始Himi将陆续使用最新v2.x版本的一些东东,同步更新一些经常使用的改动以及值得注意的地方发博文出来与大家共享;

在之前我们使用cocos2dx 1.x版本中,我们都知道,创建一个CCObject类,都是类名然后::类名去除CC这个规律来创建和初始化,但是这一条在Cocos2dx 2.x版本就不行了,在cocos2dx 2.x版本中初始化和创建类基本都是 create 关键字开头创建。

首先我们来看第一个改动: CCLayer初始化

自定义Layer,类名:World

1
2
3
4
5
6
.h中:
1.x版本Layer函数
LAYER_NODE_FUNC(World);
2.x版本Layer函数
LAYER_CREATE_FUNC(World);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.cpp中:
1.x版本的重写函数:
CCScene* World::scene()
{
CCScene *scene = CCScene::node();
World *layer = World::node();
scene->addChild(layer);
return scene;
}
2.x版本的重写函数:
CCScene* World::scene()
{
CCScene *scene = CCScene::create();
World *layer = World::create();
scene->addChild(layer);
return scene;
}

然后我们看第二个常用的CCArray的初始化:

1
2
3
4
5
1.x版本的CCArray创建:
CCArray*array = CCArray::array();
2.x版本的CCArray创建:
CCArray*array = CCArray::create();

第三个我们看文件路径相关CCFileUtils函数使用:

1.x版本的使用: 
const char* fullpath = cocos2d::CCFileUtils::fullPathFromRelativePath(patha.c_str());
 
2.x版本的使用:
const char* fullpath = cocos2d::CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(patha.c_str());



第四个精灵的创建:

1.x中精灵的创建:
 CCSprite *sp = CCSprite::spriteWithFile("himi.png");
2.x中精灵的创建:
 CCSprite *sp = CCSprite::create("himi.png");



第五个注册触屏事件监听

1.x中注册:
CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this, 0, false);
 
2.x中注册:
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, false);


第六个粒子相关

1.x粒子创建和设置自动释放设置
CCParticleSystem *tempSystem =  CCParticleSystem::particleWithFile("himi.plist");
        tempSystem->setIsAutoRemoveOnFinish(true);
         
2.x粒子创建和设置自动释放设置        
CCParticleSystem *tempSystem =  CCParticleSystemQuad::create("himi.plist");
        tempSystem->setAutoRemoveOnFinish(true);



第七个:CCFileData 类去除了:

1.x的CCFileData的使用:
      
cocos2d::CCFileData fileDataClip(const char *pszFileName, const char *pszMode);
  
2.x中CCFileData被删除,直接使用如下函数即可代替:
CCFileUtils::sharedFileUtils()->getFileData(const char *pszFileName, const char *pszMode, unsigned long *pSize)


第八个Action 动作使用与创建:

1.x动作的创建与使用:
this->runAction(CCSequence::actions(
                                            CCMoveTo::actionWithDuration(ccpDistance(this->getPosition(), target) / velocity,
                                                                         target),
                                            CCCallFunc::actionWithTarget(this, callfunc_selector(Player::removeTarget))
                                            ,NULL));
  
2.x的动作创建和使用:      
this->runAction(CCSequence::create(
                                           CCMoveTo::create(ccpDistance(this->getPosition(), target) / velocity,
                                                            target),
                                           CCCallFunc::create(this, callfunc_selector(Player::removeTarget))
                                           ,NULL));


其实以上这几个例子比较有代表性了,其他的一些区分我想大家也能找到不一定的规律。那么本篇对于cocos2dx v2.0版本的差异就讲述到这,后续如果Himi还发现比较重点区分的地方也一定会博文分享出来的。 :hmg:



分享到:
评论

相关推荐

    Cocos2d-x 3.x游戏开发实战pdf含目录

    《Cocos2d-x 3.x游戏开发实战》是一本深度探讨Cocos2d-x 3.x框架的游戏开发书籍,适合对游戏编程有兴趣的开发者学习。Cocos2d-x 是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多平台的...

    cocos2d-x 3.x游戏开发实战光盘

    《cocos2d-x 3.x游戏开发实战光盘》是一个深入探讨cocos2d-x 3.x游戏引擎开发的资源集合,旨在帮助开发者通过实际案例掌握这一强大的2D游戏开发工具。cocos2d-x是一款开源的游戏开发框架,基于C++,广泛应用于跨平台...

    Cocos2d-x 3.x游戏开发之旅教程及完整源码下载

    Cocos2d-x 3.x游戏开发之旅教程及完整源码下载,使用最新cocos2d-x-3.14版本,在xcode7.3上已编译通过。 解决相关问题 1、解决源程序在高版本上无法编译问题 2、解决源程序中文注释部分,xcode上显示乱码问题 使用...

    cocos2d-x 3.x 游戏开发实战光盘源码

    cocos2d-x是一款跨平台的2D游戏开发引擎,广泛应用于iOS、Android、Windows等多平台的游戏开发,尤其适合制作2D图形和动画丰富的游戏。其核心特性包括渲染引擎、物理引擎、粒子系统、音频处理、脚本支持等,为开发者...

    Cocos2d-x 3.x游戏开发之旅_完整版PDF电子书

    Cocos2d-x 3.x游戏开发之旅_完整版PDF电子书 上次传过一个给弄错了 而且我也不知道怎么把上次上传的那个删掉 看清楚 这个才是 完整版

    Cocos2d-x 3.x游戏开发实战源码

    Cocos2d-x是一款开源的游戏开发框架,广泛用于2D和3D游戏的制作,尤其在移动平台上表现突出。这个“Cocos2d-x 3.x游戏开发实战源码”压缩包显然包含了使用Cocos2d-x 3.x版本进行游戏开发的实际项目代码,为学习者...

    Cocos2d-x 3.X游戏开发入门精解

    《Cocos2d-x 3.X游戏开发入门精解》是一本专为初学者设计的指导书籍,旨在帮助读者快速掌握使用Cocos2d-x 3.X框架进行游戏开发的基本技能。Cocos2d-x是一个开源的游戏开发框架,广泛应用于跨平台游戏开发,支持iOS、...

    Cocos2d-x 3.X游戏开发实战 (肖文吉) 完整pdf

    《Cocos2d-x 3.X游戏开发实战》是由肖文吉编著的一本专业级游戏开发指南,专为想要掌握Cocos2d-x 3.X框架进行游戏开发的程序员设计。Cocos2d-x是一个开源的游戏开发框架,广泛应用于跨平台的2D游戏制作,支持iOS、...

    cocos2d-x 3.x游戏开发实战肖文吉光盘源代码

    《cocos2d-x 3.x游戏开发实战》是一本深度探索Cocos2d-x 3.x框架的游戏开发书籍,作者肖文吉提供了配套的源代码,旨在帮助读者通过实践来掌握Cocos2d-x 3.x的核心技术和游戏开发流程。这本书的源代码是学习Cocos2d-x...

    Cocos2d-X 3.X 游戏案例开发大全光盘.txt

    资源为教学视频,有iOS基础熟悉XCode基本上不难学会,主要讲了一些Cocos2d游戏开发引擎中的一些具体调用

    Cocos2d-x 3.x制作2048

    1. Cocos2d-x 3.0版本及C++语言:该书使用Cocos2d-x的3.0-alpha1版本来开发游戏。Cocos2d-x是一个开源的游戏开发框架,适用于快速构建2D游戏、演示和其他图形/交互式应用。而C++是一种面向对象的编程语言,常用于...

    Cocos2d-x 3.x游戏开发之旅_PDF电子书下载 带书签目录 高清完整版.pdf

    《Cocos2d-x 3.x游戏开发之旅》是一本专为游戏开发者设计的详细教程,旨在帮助读者掌握使用Cocos2d-x 3.x框架进行游戏开发的技术和技巧。Cocos2d-x是一个开源的、跨平台的游戏开发框架,支持iOS、Android、Windows等...

    Cocos2d-x 3.x游戏开发之旅_高清完整版

    《Cocos2d-x 3.x游戏开发之旅》是一本专为游戏开发者设计的详细教程,专注于使用Cocos2d-x 3.x框架进行游戏开发。Cocos2d-x是跨平台的游戏开发库,它基于C++,并提供了Python和Lua的绑定,使得开发者能够用这些语言...

    Cocos2d-X 3.X 游戏案例开发大全随书光盘源码,只要1分

    由于《Cocos2d-X 3.X 游戏案例开发大全》的随书光盘,听说好多人坏了,这里分享出一个网盘下载资源。我也是需要这个资源的一员,所以1分分享出来,希望能帮到你们。 里面总有9个项目的代码和资源,还有一个cocos2d-X...

    Cocos2d-x 3.x游戏开发实战.pdf

    Cocos2d-x 3.x版本是该系列中的一个重要迭代版本,引入了许多新的特性和改进,进一步提高了游戏开发的效率与质量。 ### 特性与优势 #### 1. 跨平台支持 Cocos2d-x的核心优势之一就是其强大的跨平台能力。开发者只...

    Cocos2d-x 3.x游戏开发之旅_PDF电子书下载 带书签目录 高清完整版

    《Cocos2d-x 3.x游戏开发之旅》是一本专为游戏开发者设计的详细教程,旨在引导读者深入了解和掌握Cocos2d-x 3.x框架进行游戏开发的技术与实践。Cocos2d-x是一个开源的游戏开发框架,广泛应用于移动平台,如iOS、...

    Cocos2d-x 3.x游戏开发实战

    Cocos2d-x 3.x游戏开发实战

    Cocos2d-x 3.x游戏开发之旅

    本书是《Cocos2d-x 游戏开发之旅》的升级版,修改了2.0版进阶到3.0版后的一些内容,新增了对CocoStudio、UI编辑器、Cocos2d-x 3.0新特性以及网络方面的知识点。主要介绍常用的API使用方式;介绍如何通过官方Demo获取...

    cocos2d-x 3.x 游戏开发实战资源

    《cocos2d-x 3.x 游戏开发实战资源》是针对使用cocos2d-x 3.x框架进行游戏开发的学习者所准备的一套实战资料。cocos2d-x是一个开源的游戏开发框架,它基于cocos2d,并且支持跨平台开发,包括iOS、Android、Windows等...

    Cocos2d-x-3.x游戏开发之旅

    Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签

Global site tag (gtag.js) - Google Analytics