cocos2D(一)----第一个cocos2D程序
简单介绍
我们这个专题要学习的是一款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程序的更多相关文章
- 三、第一个cocos2d程序的代码分析
http://blog.csdn.net/q199109106q/article/details/8591706 在第一讲中已经新建了第一个cocos2d程序,运行效果如下: 在这讲中我们来分析下里面 ...
- DirectX游戏编程(一):创建一个Direct3D程序
一.环境 Visual Studio 2012,DirectX SDK (June 2010) 二.准备 1.环境变量(如没有配置请添加) 变量名:DXSDK_DIR 变量值:D:\Software\ ...
- 第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
- 编写第一个MapReduce程序—— 统计气温
摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...
- 1.3 第一个C#程序
几乎没一门编程语言的第一个程序都叫“你好,世界”,所以先在visual studio 中创建一个Helloworld程序. 各部分的详细内容: Main方法是程序运行的起点,最重要的代码就写在Main ...
- 一个.net程序员的安卓之旅-Eclipse设置代码智能提示功能
一个.net程序员的安卓之旅-代码智能提示功能 过完年回来就决心开始学安卓开发,就网上买了个内存条加在笔记本上(因为笔记本原来2G内存太卡了,装了vs2010.SQL Server 2008.orac ...
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)
1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...
- Go! new Hello World, 我的第一个Go程序
以下语句摘自百度百科: Go语言是谷歌2009发布的第二款开源编程语言. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进 ...
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
随机推荐
- java之 ------ 几种常见的简单设计模式
前言: 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.用于解决特定环境下.反复出现的特定问题的解决方式.使用设计模式是为了可重用代码.让代 ...
- UIWebView 无缝切换到 WKWebView
WKWebView 是IOS8新增的 Web浏览视图 长处: 载入速度 比UIWebView提升差点儿相同一倍的, 内存使用上面,反而还少了一半. 缺点: WKWebView 不支持缓存 和 ...
- Android实现本地图片选择及预览缩放效果仿春雨医生
在做项目时常常会遇到选择本地图片的需求.曾经都是懒得写直接调用系统方法来选择图片.可是这样并不能实现多选效果.近期又遇到了,所以还是写一个demo好了.以后也方便使用.还是首先来看看效果 显示的图片使 ...
- Python画图工具matplotlib的安装
今天在机子上安装matplotlib遇到一些问题,特将此记录下来,供大家分享以少走弯路. 1:下载matplotlib 去官网上下载你所须要的版本号http://matplotlib.org/down ...
- Tachyon的配置详解
Tachyon的配置 Tachyon环境变量 Tachyon通用配置 TachyonMaster配置 TachyonWorker配置 用户配置 1 Tachyon的配置 这里以0.5.0版本为例,介绍 ...
- Flex 转载
- ps---报告当前系统的进程状态
ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同.现在的大部分Linux系统都是可以同时使用这两种方式的. linux上进程有5种状态: ...
- [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 ...
- 电商系统Broadleaf文档翻译(六) - 主要实体main entities
主要实体 原文标题:main entities 原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/d ...
- gdbserver 使用方法
1.分别编译出在宿主机运行的交叉调试器arm-linux-gdb和在目标板上运行的gdbserver: 2.在目标板开启gdbserver#gdbserver 宿主机ip:任意指定端口号 ./待调试 ...