简单介绍

我们这个专题要学习的是一款iOS平台的2D游戏引擎cocos2d。严格来说叫做cocos2d-iphone,由于cocos2d有非常多个版本号。我们学习的是iphone版本号的。既然是个游戏引擎,那么它肯定是为了方便游戏开发而设计的。

使用了cocos2d,你能够编写极少量的代码就做出非常cool的游戏,节省你的开发周期。当然,要想出一个大作。还必须下苦工。

在iOS平台的游戏引擎还不止cocos2d一个,只是cocos2d还是比較受欢迎的,AppStore上已经有超过100个游戏是基于cocos2d,当中3个进入过TOP
10的排名,当中的StickWars曾排名第一。

提示:要想非常好地消化这个专题,最好已经有一定的iOS应用程序开发基础

选择cocos2d的理由

1.免费

我们能够使用cocos2d的全部功能,它是全然免费的

2.开源

cocos2d-iphone是用OC编写的。我们能够好好学习下这个优秀游戏引擎的源码。还能够对这个引擎进行一些改动或者拓展

3.集成了物理引擎

物理引擎能够为游戏中的物体赋予真实的物理属性。来实现碰撞、滚动、滑动或者弹跳等逼真效果(比方赛车类游戏或者保龄球游戏)。眼下cocos2d集成的物理引擎有:Chipmunk和Box2d,Chipmunk是用C语言编写的,Box2d是用C++编写的,2个引擎的功能基本一样。《愤慨的小鸟》使用的是Box2d物理引擎,玩过这款游戏的朋友应该都能感受到Box2d物理引擎的强大

4.功能强大,开发难度低

cocos2d把底层的OpenGL ES代码封装地很棒,我们用简单几句代码,就行实现很酷的图形效果、动画效果,它还集成了音频引擎。可以高速处理音频文件

cocos2d的各种版本号

名称 语言 平台
cocos2d-iphone Objective-C iOS、Mac OS X
cocos2d-x C++ iOS、Android、Windows
cocos2d-html5 JavaScript Web浏览器
cocos2d-android-1 Java Android

我们学习的版本号是用OC编写的cocos2d-iphone,尽管名字后面带个iphone,其有用cocos2d-iphone开发的游戏一样能够执行在iPad上面,仅仅要是iOS平台就可以

创建第一个cocos2d程序

1.到官网http://www.cocos2d-iphone.org/download下载源码

眼下有2个稳定版本号:1.0.1和2.0,1.0.1和2.0的API有好些不一样的地方。我们这里使用的是1.0.1

2.双击解压cocos2d-iphone-1.0.1.tar.gz

3.打开终端,进入到cocos2d-iphone-1.0.1文件夹中,输入指令./install-templates.sh -f -u安装cocos2d的模板到Xcode中

我的cocos2d-iphone-1.0.1文件夹完整路径是:/Users/apple/Downloads/cocos2d-iphone-1.0.1

观察上面的安装日志能够发现,事实上这些模板文件是生成在:/Users/apple/Library/Developer/Xcode/Templates目录中(我的username叫apple)

直接删掉这2个cocos2d目录就可以删除全部已安装的模板文件

4.安装完成后,打开Xcode,新建项目时会发现多了一个模板

这里有3种模板,cocos2d_box2d是集成了box2d物理引擎的模板,cocos2d_chipmunk是集成了chipmunk物理引擎的模板。

我们选择第一个最简单的cocos2d模板

5.这里我的项目名称叫做HelloWorld

6.项目结构

Resources:存放游戏中使用到的一些资源,比方图片、音频文件等

Default.png:iOS载入应用程序时显示的图片,所以在每次执行cocos2d程序时会先看到这张图片

Icon.png:应用程序的图标

fps_images.png:cocos2d用来显示帧率的图片,不能够删除或改动

libs:存放着cocos2d以及第三方依赖库的源码

7.执行项目。效果例如以下

左下角的60.2是指游戏帧率。帧率即每秒刷新多少帧,cocos2d默认设置是每秒刷新60帧。帧率影响着游戏的用户体验

到这里为止。我们的第一个cocos2d程序就搞定了

原文地址:http://blog.csdn.net/q199109106q/article/details/8587877

感谢作者!

cocos2D(一)----第一个cocos2D程序的更多相关文章

  1. 三、第一个cocos2d程序的代码分析

    http://blog.csdn.net/q199109106q/article/details/8591706 在第一讲中已经新建了第一个cocos2d程序,运行效果如下: 在这讲中我们来分析下里面 ...

  2. DirectX游戏编程(一):创建一个Direct3D程序

    一.环境 Visual Studio 2012,DirectX SDK (June 2010) 二.准备 1.环境变量(如没有配置请添加) 变量名:DXSDK_DIR 变量值:D:\Software\ ...

  3. 第一个python程序

    一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...

  4. 编写第一个MapReduce程序—— 统计气温

    摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...

  5. 1.3 第一个C#程序

    几乎没一门编程语言的第一个程序都叫“你好,世界”,所以先在visual studio 中创建一个Helloworld程序. 各部分的详细内容: Main方法是程序运行的起点,最重要的代码就写在Main ...

  6. 一个.net程序员的安卓之旅-Eclipse设置代码智能提示功能

    一个.net程序员的安卓之旅-代码智能提示功能 过完年回来就决心开始学安卓开发,就网上买了个内存条加在笔记本上(因为笔记本原来2G内存太卡了,装了vs2010.SQL Server 2008.orac ...

  7. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)

    1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...

  8. Go! new Hello World, 我的第一个Go程序

    以下语句摘自百度百科: Go语言是谷歌2009发布的第二款开源编程语言. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进 ...

  9. 搭建java开发环境、使用eclipse编写第一个java程序

    搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...

随机推荐

  1. java之 ------ 几种常见的简单设计模式

    前言: 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.用于解决特定环境下.反复出现的特定问题的解决方式.使用设计模式是为了可重用代码.让代 ...

  2. UIWebView 无缝切换到 WKWebView

    WKWebView 是IOS8新增的 Web浏览视图 长处:   载入速度  比UIWebView提升差点儿相同一倍的, 内存使用上面,反而还少了一半. 缺点:   WKWebView 不支持缓存 和 ...

  3. Android实现本地图片选择及预览缩放效果仿春雨医生

    在做项目时常常会遇到选择本地图片的需求.曾经都是懒得写直接调用系统方法来选择图片.可是这样并不能实现多选效果.近期又遇到了,所以还是写一个demo好了.以后也方便使用.还是首先来看看效果 显示的图片使 ...

  4. Python画图工具matplotlib的安装

    今天在机子上安装matplotlib遇到一些问题,特将此记录下来,供大家分享以少走弯路. 1:下载matplotlib 去官网上下载你所须要的版本号http://matplotlib.org/down ...

  5. Tachyon的配置详解

    Tachyon的配置 Tachyon环境变量 Tachyon通用配置 TachyonMaster配置 TachyonWorker配置 用户配置 1 Tachyon的配置 这里以0.5.0版本为例,介绍 ...

  6. Flex 转载

  7. ps---报告当前系统的进程状态

    ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同.现在的大部分Linux系统都是可以同时使用这两种方式的. linux上进程有5种状态: ...

  8. [Angular] How to get Store state in ngrx Effect

    For example, what you want to do is navgiate from current item to next or previous item. In your com ...

  9. 电商系统Broadleaf文档翻译(六) - 主要实体main entities

    主要实体 原文标题:main entities 原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/d ...

  10. gdbserver 使用方法

    1.分别编译出在宿主机运行的交叉调试器arm-linux-gdb和在目标板上运行的gdbserver: 2.在目标板开启gdbserver#gdbserver  宿主机ip:任意指定端口号 ./待调试 ...