我是在今年6月份左右接触到cocos2d这个东西的,当时就是想写个小游戏,结果买书的时候误打误撞就买了cocos2d的书。

cocos2d是一个开源的游戏引擎,用于构建2d游戏,同时也可以用它写各种图形界面的交互应用。客观说,用cocos2d可以写任何程序。

至于引擎是什么,我也不是超级权威的人,也没有用过很多引擎,但是按照我的理解,引擎就是你写代码时候的一个附加工具。可以这样说,我用Objc写游戏,用Objc自带的类库,还有Apple提供的Cocoa Touch等官方类库,就可以写任何游戏,但是这样写游戏非常麻烦,每一个动作都要你自己组织代码。引擎就像是一个小助手,帮你把好多函数,好多东西都封装好了,封装成很多非常简单,易于理解的接口和函数。比如,如果你要显示一个人物图片在屏幕上,你只需要调用引擎的两个函数,输入图片文件的名称,然后输入显示图片的位置,引擎就会帮你把图片显示出来,非常简单容易理解。

有些人会觉得用引擎很低端,而且引擎添加了很多不必要的东西,有时候会拖慢应用的速度,反正就是用引擎不好。这个想法当然是对的,引擎本来就是一个不小的东西,能把这么多方法都封装好,肯定需要很多文件什么的,加载引擎的时候肯定也会拖慢应用的速度,毕竟我们大多数的应用都只会用到引擎的很小一部分东西,其它功能对我们这个应用可能都是没用的。但是对于一个刚刚接触游戏开发的人来说,我想引擎是一个很好的选择。因为引擎把很多东西都封装了,剩下给我们的接口都非常好理解,我们可以很快地熟练掌握使用引擎。还有,对于游戏开发经验为0的人来说,能够想清楚游戏的思路应该是他们最先考虑的问题,引擎的出现让他们能够很专心地想清楚游戏思路,因为有了思路,用引擎实现并不是一件非常难的事情。

好,说完了引擎,接下来就说说cocos2d

cocos2d最早是由Ricardo开发的,当时他用的是Python,只是想用Python很快地写一些游戏,结果就每个游戏都要重新写引擎,然后他就想要做一个通用的引擎。这样就酝酿出了cocos2d

cocos2d现在主要分为cocos2d-iphone和cocos2d-x

这个就是cocos2d-iphone的专有图标。

cocos2d-iphone是在Xcode环境下,使用Objc编写的,只使用于iOS和Mac OS X的开发  

这个是cocos2d-x的专有图标

cocos2d-x是一个多平台的引擎,使用C++编写,所以可以在iOS、Android等多平台进行开发,可以在Xcode、Eclipse、VS等多个环境下进行书写

 

虽然有分两个分支,但是这两个的核心是相同的,所有的函数和接口都可以分别在这两个分支下找到,也就是说它们实现的功能是一样的,只是写的方式不一样。

 

其中,著名的捕鱼达人就是cocos2d的作品。

关于cocos2d这个东西的更多相关文章

  1. 另一个维度:cocos-2d VS vue

    最近再看cocos-2d的东西,期间得到了同事和老板的支持,在此感谢.之前一直在做vue网页,现在看游戏cocos-2d这块,刚接触肯定有点不适应.cocos-2d多了很多感念:导演.场景.节点等.这 ...

  2. 我的iOS开发之路

    我终于开始写我的第一个cocos2d-iphone程序了.纪念一下 额,这是一个悲伤的故事.其实我从开始准备开发iOS已经好久了,从我装上Xcode开始到现在,应该已经有差不多一年的时间了把. 还记得 ...

  3. cocos2d(3.0)一些基础的东西

    1.创建项目后环境配置: 附加文件夹:加入 $(EngineRoot) $(EngineRoot)cocos $(EngineRoot)cocos\editor-support $(EngineRoo ...

  4. 学生信息管理系统(cocos2d引擎)——数据结构课程设计

    老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create("&qu ...

  5. 如何优化cocos2d程序的内存使用和程序大小

    在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...

  6. 如何优化cocos2d程序的内存使用和程序大小:第一部分

    译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个 ...

  7. 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

    免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...

  8. 新的开始---cocos2d

    今天是一个新的开始,cocos2d的环境搭配好了,并且打包案桌apk的环境也搭配好了,安卓的这个搭配环境还是出了一点问题,前面弄了两个晚上(11-12.30)没弄出来,中间好几天都没有去弄,今天光棍节 ...

  9. cocos2d制作动态光晕效果基础——blendFunc

    转自:http://www.2cto.com/kf/201207/144191.html 最近的项目要求动态光晕的效果. 何谓动态光晕?之前不知道别人怎么称呼这个效果, 不过在我看来,“动态光晕”这个 ...

随机推荐

  1. mac 下安装安卓模拟器

    mac下的安卓模拟器——bluestacks 下载:http://pan.baidu.com/s/1kVvZyYz 该安卓模拟器除了能网络下载apk,本地还能安装apk,但是与win版不同,安装不是那 ...

  2. C# DataTable去除重复,极其简便、简单

    其中sourceDT是获取到的一个DataTable类型的集合对象 去重复使用方式: 实例化一个DataView对象 假设为dv,直接dv.ToTable()即可,ToTable中可为(true,&q ...

  3. 解决ubuntu下的文本编辑器gedit的乱码问题

    缺省配置下,用 Ubuntu 的文本编辑器(Gedit)打开GB18030(繁体中文用户请将这里的出现的GB18030替换成BIG5或BIG5-HKSCS)类型的中文编码文本文件时,将会出现乱码. 出 ...

  4. 关键字throw(something)限制

    C++函数后加关键字throw(something)限制,是对这个函数的异常安全性作出限制.void f() throw() 表示f不允许抛出任何异常,即f是异常安全的.void f() throw( ...

  5. SGU 191.Exhibition(模拟)

    时间限制:0.25s 空间限制:4M 题意: 有两个公司A.B,他们要展览物品,但是A公司的展柜要放B公司的物品,B公司的展柜要放A公司物品.最开始只有一个空柜台,从指定的一个公司开始,轮流进行操作, ...

  6. SGU 249.Matrix(Gray码)

    题意: 用0到2^(n+m-1)这2^(n+m-1)个数填在一个2^n*2^m的矩阵里,使得所有相邻的数的二进制表示只有一位不同. Solution: Gray码.对于第i行第j列的数,由i的Gray ...

  7. php文件加锁 lock_sh ,lock_ex

    文件锁有两种:共享锁和排他锁,也就是读锁(LOCK_SH)和写锁(LOCK_EX) 文件的锁一般这么使用: $fp = fopen("filename", "a" ...

  8. ubuntu 升级命令

    apt-get update && apt-get dist-upgrade

  9. 我的css reset

    @charset "utf-8"; /*reset*/ body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,f ...

  10. js定位navigator.geolocation

    一.简介 html5为window.navigator提供了geolocation属性,用于获取基于浏览器的当前用户地理位置. window.navigator.geolocation提供了3个方法分 ...