关于cocos2d这个东西
我是在今年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这个东西的更多相关文章
- 另一个维度:cocos-2d VS vue
最近再看cocos-2d的东西,期间得到了同事和老板的支持,在此感谢.之前一直在做vue网页,现在看游戏cocos-2d这块,刚接触肯定有点不适应.cocos-2d多了很多感念:导演.场景.节点等.这 ...
- 我的iOS开发之路
我终于开始写我的第一个cocos2d-iphone程序了.纪念一下 额,这是一个悲伤的故事.其实我从开始准备开发iOS已经好久了,从我装上Xcode开始到现在,应该已经有差不多一年的时间了把. 还记得 ...
- cocos2d(3.0)一些基础的东西
1.创建项目后环境配置: 附加文件夹:加入 $(EngineRoot) $(EngineRoot)cocos $(EngineRoot)cocos\editor-support $(EngineRoo ...
- 学生信息管理系统(cocos2d引擎)——数据结构课程设计
老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite* spBG = CCSprite::create("&qu ...
- 如何优化cocos2d程序的内存使用和程序大小
在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...
- 如何优化cocos2d程序的内存使用和程序大小:第一部分
译者: 在我完成第一个游戏项目的时候,我深切地意识到“使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰”.而我刚开始接触cocos2d的时候,社区里面的人们讨论了一个 ...
- 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...
- 新的开始---cocos2d
今天是一个新的开始,cocos2d的环境搭配好了,并且打包案桌apk的环境也搭配好了,安卓的这个搭配环境还是出了一点问题,前面弄了两个晚上(11-12.30)没弄出来,中间好几天都没有去弄,今天光棍节 ...
- cocos2d制作动态光晕效果基础——blendFunc
转自:http://www.2cto.com/kf/201207/144191.html 最近的项目要求动态光晕的效果. 何谓动态光晕?之前不知道别人怎么称呼这个效果, 不过在我看来,“动态光晕”这个 ...
随机推荐
- android 数字键盘制作
//布局相关<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android ...
- 在使用Kettle的集群排序中 Carte的设定——(基于Windows)
本片文章主要是关于使用Kettle的UI界面: Spoon来实现基于集群的对数据库中的数据表数据进行排序的试验. 以及在实验过程中所要开启的Carte服务的一些配置文件的设置, 还有基于Windows ...
- redhat6.4 配置centos6 yum替换
1.卸载掉系统redhat自带的yum rpm -qa |grep yum |xargs rpm -e --nodeps 2 下载相关的centos yum插件 主要有python-inipa ...
- Java线程(学习整理)--3--简单的死锁例子
1.线程死锁的概念: 简单地理解下吧! 我们都知道,线程在执行的过程中是占着CPU的资源的,当多个线程都需要一个被锁住的条件才能结束的时候,死锁就产生了! 还有一个经典的死锁现象: 经典的“哲学家就餐 ...
- javascript——迭代方法
<script type="text/javascript"> //五个迭代方法 都接受两个参数:要在每一项上运行的函数 和 运行该函数的作用域(可选) //every ...
- asp.net gridview中增加单击单元格事件
实现功能:单击表格中某个单元格(不是第一列.最后一列.最后一行,不为0)根据行第一个单元格内容及列名来查询详细内容,在消息框中查看显示. 在代码中增加 protected override void ...
- php之框架增加日志记录功能类
<?php /* 思路:给定文件,写入读取(fopen ,fwrite……) 如果大于1M 则重写备份 传给一个内容, 判断大小,如果大于1M,备份 小于则写入 */ class Log{ // ...
- AspNet WebApi: 了解下HttpControllerDispatcher,控制器的创建和执行
HttpControllerDispatcher作为ASPNET WEB API消息处理管道中重要的部分,负责最后控制器系统的激活,action方法的执行,以及最后的响应生成. HtppControl ...
- CHROME下载地址
Chrome官方独立中文安装包下载地址 一般我们安装Google Chrome浏览器都是访问 http://www.google.com/chrome/?hl=zh-CN 然后下载运行ChromeSe ...
- RabbitMQ启动出错:- unable to connect to epmd on xxxx: timeout (timed out)
yum install后启动rabbitmq报错: [root@www ~]# /etc/init.d/rabbitmq-server start Starting rabbitmq-server: ...