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. ...
随机推荐
- 版本号控制-搭建gitserver
GitHub是一个免费托管开源码的Gitserver,假设我们不想公开项目的源码,又不想付费使用.那么我们能够自己搭建一台Gitserver. 以下我们就看看,怎样在Ubuntu上搭建Gitserve ...
- Solr 定义
福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- Kinect 开发 —— 语音识别(上)
Kinect的麦克风阵列在Kinect设备的下方.这一阵列由4个独立的水平分布在Kinect下方的麦克风组成.虽然每一个麦克风都捕获相同的音频信号,但是组成阵列可以探测到声音的来源方向.使得能够用来识 ...
- 【2017 Multi-University Training Contest - Team 5】Rikka with Subset
[Link]: [Description] 给你a数组的n个数的所有2^n个子集的2^n个子集元素的和; 子集元素的和最大为m; 告诉你各个子集元素的和出现的次数; 如 1 2 则0出现1次,1出现1 ...
- Jenkins学习总结(2)——Jenkins+Maven进行Java项目持续集成
最近配置了Jenkins服务器,记录下基本过程.(当然还遇到了若干小问题,兵来将挡水来土掩就是了) Jenkins安装 安装Tomcat 从Jenkins官网下载jenkins.war文件.官网地址: ...
- POJ——T 2891 Strange Way to Express Integers
http://poj.org/problem?id=2891 Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 16849 ...
- Repractise基础篇:Web应用开发七日谈
Repractise基础篇:Web应用开发七日谈 本来想的仅仅是画一个例如以下的七日图来说说Web开发的.随后又想了想这似乎是一个非常棒的Web开发相关的知识介绍.应用开发是一个非常有意思的循环,多数 ...
- Android自定义视图
Android框架为我们提供了大量的视图类来帮助我们做好展示信息以及同用户进行交互的工作.然后有时候,我们的app或许需要一些在Android内建视图之外特殊的视图,那么此时我们就需要自定义视图.下面 ...
- LINUX下为apache 和 PHP 添加模块
LINUX下为apache 和 PHP 添加模块https://www.path8.net/tn/archives/4717/opt/lampp/bin/httpd -V/opt/lampp/bin/ ...
- Spring中事务的XML方式[声明方式]
事务管理: 管理事务,管理数据,数据完整性和一致性 事务[业务逻辑] : 由一系列的动作[查询书价格,更新库存,更新余额],组成一个单元[买书业务], 当我们动作当中有一个错了,全错~ ACID 原子 ...