[cocos2d-x]cocos2d和cocos2d-x的一些通用性

不得不说要说总结,因为Cocos2d-X的代码和Cocos2d-iphone两个引擎除了语言不同外(Cocos2d-X使用C++,Cocos2d-iphone使用Object-C)可以说没有其他差异。

 

      下面举例对比几段代码来说明吧:

       创建添加一个精灵代码对比:

              使用Cocos2d-X: 

view plain

  1. //---------Cocos2d-X代码部分--  
  2.    //创建一个精灵  
  3.    CCSprite *spriteTemp =CCSprite::spriteWithFile("icon.png");  
  4.    //设置精灵的坐标  
  5.    spriteTemp->setPosition(ccp(size.width*0.5,size.height*0.5));  
  6.    //将精灵添加到layer中  
  7.    this->addChild(spriteTemp,1);
     

            使用Cocos2d-iphone:    

view plain

  1. //---------Cocos2d-iphone代码部分--  
  2. //创建一个精灵  
  3. CCSprite *spriteTemp =[CCSprite spriteWithFile:@"icon.png"];  
  4. //设置精灵的坐标  
  5. spriteTemp.position=ccp(size.width*0.5,size.height*0.5);  
  6. //将精灵添加到layer中  
  7. [self addChild:spriteTemp z:0 tag:1];  

        添加一个粒子代码对比:

        使用Cocos2d-X: 

view plain

  1. //---------Cocos2d-X代码部分--   
  2.    CCParticleSystem *tempSystem =ARCH_OPTIMAL_PARTICLE_SYSTEM:
  3. :particleWithFile("himi.plist");     
  4.    tempSystem->setPosition(ccp(100,100));      
  5.    this->addChild(tempSystem);  

       使用Cocos2d-iphone:

view plain

  1. //---------Cocos2d-iphone代码部分--  
  2. CCParticleSystem *tempSystem =[ARCH_OPTIMAL_PARTICLE_SYSTEM 
  3. particleWithFile:@"himi.plist"];     
  4. tempSystem.position=ccp(100,100);      
  5. [self addChild:tempSystem];  

      OK,不在举例了,通过以上随便举例的两段代码童鞋们很清楚的看出来,基本上没有差异,

以后主要会继续更新Cocos2d(Cocos2d-iphone)博文的,以后童鞋们不管是做Cocos2d-X

还是做Cocos2d-iphone都可以看我的【iOS-Cocos2d游戏开发系列博文的】谁让它们通用呢 ?

      这里还有三点要说下:

     第一:现在很多游戏公司都趋向于Cocos2d-X引擎开发游戏的趋势,不得不说Cocos2d-X多平台平移确实很诱惑人,Cocos2d-X已成熟!

    第二:不少童鞋肯定会很想知道Cocos2d-X能多平台平移,那么平移稳定性如何?

        通过我的了解,Cocos2d-X开发都会使用统一的C++语言开发,例如在iOS开发中使用Xcode+cocos2d-X,在Android上一般使用Eclipse+Android NDK+ADT....

        其实总结一句,Cocos2d-iphone并不像很多童鞋认为的只要的一人开发就可打包多平台包这样子~ 如果说用一句话更贴切的形容Cocos2d-X,我会用“Cocos2d-X代码通用”来形容;

        从CC(CocoChina)上我看到王哲walzer(cocos2d-x
游戏引擎作者)在回复一童鞋问题时候这么说的:

       问:关于如何打包cocos2d-x程序的问题   本人新手,想请教一下如何将Cocos2d-x win32的程序打包成iphone能够运行的程序,请各位大大不吝赐教!谢谢!

      王哲walzer 答:win32上只是让你调试方便,要发布到appstore上,你还是得有个mac机,装好cocos2d-x
template,新建工程,然后把win32上代码拷过来,手工地加入xcode工程里面,编译运行

 

      从上面的对话可以证实我所说的Cocos2d-X是代码通用!

时间: 2024-08-31 03:29:45

[cocos2d-x]cocos2d和cocos2d-x的一些通用性的相关文章

Cocosd2d实例教程(五) Cocos2d添加虚拟摇杆控制器

1.介绍 cocos2d为我们提供了好用的摇杆控制器,主要是对ZJoystick.h和ZJoystick.m的添加,实现了如下图的功能.通过摇杆可以控制图中精灵的移动.(但是还有一个技术性问题亟待解决,就是精灵移动后会有一个重影留在初始位置) 2.摇杆的实现 1) 将资源中的ZJoystick文件夹加到工程中(页面下方提供下载地址), 精灵的添加以及移动前面已经讲了,不知道的同学可以看教程四.工程名字为ControlWalking 2)修改HelloWorldLayer.h文件.加入一些需要的节

Cocosd2d实例教程(三) Cocos2d瓦片地图的导入

上一节讲了如何使用Tiled制作瓦片地图,下面讲一下如何将地图导入游戏中. 第一步:将生成的文件导入resource中,如图,分别为地图和图片集 第二步:在HelloWorldLayer.h中修改代码,有一定基础的人还是比较好理解的. #import <GameKit/GameKit.h> // When you import this file, you import all the cocos2d classes #import "cocos2d.h" // Hello

转 Cocos2d-x3.0模版容器详解之三:cocos2d::Value

1.概述 版本: v3.0 beta 语言: C++ 定义在 "COCOS2DX_ROOT/cocos/base" 路径下的 "CCValue.h" 的头文件中. ? 1 class Value; unioncocos2d::Valie 是一个包含了很多原生类型(int,float,double,bool,unsigned char,char* 和 std::string)外加 std::vector<Value>, std::unordered_map

cocos2d::Vector

v3.0 beta加入 定义在"COCOS2DX_ROOT/cocos/base"的"CCVector.h"头文件中. template<class T>class CC_DLL Vector; cocos2d::Vector<T>是一个封装好的能动态增长顺序访问的容器. cocos2d::Vector<T>中的元素是按序存取的,它的低层实现数据结构是标准模版库中的标准顺序容器std::vector. 在Cocos2d-x v3.

cocos2d中关于回调函数的pSender参数的问题

问题描述 cocos2d中关于回调函数的pSender参数的问题 10C 运行结果显示,CallBack1和CallBack2产生的效果是一样的,请问CallBack2处的pSender的作用是什么,为什么Sprite* sp = (Sprite*)pSender;后sp与sprite等效了? cpp中 void MyScene::goMenu(cocos2d::Ref* pSender){ log(""Tag=%i""this->getTag()); swi

Cocos2d-x碰撞检查与消灭的实现

#ifndef __HELLOWORLD_SCENE_H__   #define __HELLOWORLD_SCENE_H__      #include "cocos2d.h"   using namespace cocos2d;      class HelloWorld : public cocos2d::CCLayerColor   {   public:       // Method 'init' in cocos2d-x returns bool, instead of 

cocos2D v3.4 在TileMap中开启高清显示

在Tiled中制作一幅地图,用的图片砖块分辨率为32x32. iOS设备为iPhone 4s. 在未打开高清屏支持的cocos2d v2.x版本中,运行log显示480x320.遂启用高清屏支持: [CCdirector sharedDirector] enableRetinaDisplay:YES]; 重新运行App,可以发现分辨率变为960x640,Tile地图显示也是高清瓦片. 但是同样的地图,地图集图片在cocos2d v3.4中显示,即使app运行时分辨率是960x640,但是地图显示

Cocos2d入门--1--初涉相关属性或代码

Cocos2d vision: cocos2d-x-3.8.1 万丈高楼,起于累土.对于一个游戏框架的学习,其实在于框架功能的使用积累,学会了如何在cocos2d游戏引擎的基础上使用它提供的各种功能,并灵活运用, 以及学会查阅Cocos2d官方提供的API文档.相信自己也能开发出自己喜爱或者让别人羡慕的游戏. 目录: 1>认识origin和visibleSize以及cocos2d的基础绘画类DrawNode的简单实用 2>认识 CCLOG() 3>有关schedule的使用 4>有

《Cocos2D权威指南》——1.2 下载与安装

1.2 下载与安装 本节介绍Cocos2D的下载与安装.如果想使用Cocos2D开发iPhone应用或游戏,首先要下载Cocos2D的模板,然后安装该模板,最后创建Cocos2D**的帮助文档.下面分别来介绍这几个步骤. 1.2.1 下载Cocos2D** 首先登录Cocos2D的官方网站:http://www.cocos2d-iphone.org,切换到Download选项,可以看到如图1-2所示的网站页面. 由图1-2可以看到,Cocos2D的最新稳定版本有v1.0.1和v2.0版.考虑到C

cocos2d::Value

cocos2d::Value 于v3.0beta加入 定义在"COCOS2DX_ROOT/cocos/base"的头文件"CCValue.h"中 class Value; cocos2d::Value是许多基本类型(int,float,double,bool,unsigned char,char*和std::string)还有std::vector<Value>, std::unordered_map<std::string,Value>和s