我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Cocos2D代码目录结构与各部分功能简介

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Cocos2D代码目录结构与各部分功能简介

  可能很多刚接触Cocos2D的同学对Cocos2D还不是很清楚,接下来本教程将带你深入了解Cocos2D的代码目录结构与各部分具体功能。

  在正式介绍cocos2d之前,我先啰嗦一下本人对这套引擎的看法。我认为cocos2d最大的作用就是降低开发成本(貌似所有引擎都是这样==),对于研发部门来说,最大的成本就是时间,所以节省时间是降低成本最有效的方式,cocos2d几乎封装了所有开发iOS游戏需要的底层代码,使刚刚接触OC的开发者也能很快的制作出效果不错的游戏。可以这样说,只要你掌握了OC的基本语法以及Foundation框架的常用API,就可以用cocos2d开发游戏了,因为很多东西它都帮你完成了,不需要你花过多的精力去学习API的使用。同时cocos2d还是完全免费的,这一点使它在ios平台上的实用性超过了Unity3D,Unity3d虽然功能强大,但绝对称得上是“烧钱神器”。

  上一章我们介绍了cocos2d的下载与安装,那么现在我来说一下cocos2d项目的结构。新建的cocos2d项目最外层有3个目录,分别存放代码、类库和app包。

  代码目录的结构如下图所示:

Cocos2D代码目录结构与各部分功能简介_Cocos2D_Cocos2D游戏开发_Cocos2D代码_编程学习网

  最上面的几个是开发者自己编写的类,当然图中是一个新建的项目,所有类都是引擎自动写好的。Resources目录用来存放资源,libs中是cocos2d的源代码,SupportingFiles中是入口函数(main)。

  Libs路径结构,其中cocos2d的逻辑代码都存放在cocos2d路径中(已用红框标记)。

  SupportingFiles路径,入口类就放在这里(实际开发中基本不需要过问)。

  Frameworks路径,其中最常用的就是Foundation.framework了。

  读者们可能已经发现,cocos2d的源码是开放的,这有利于我们研究它的内部结构,从而加深理解,但作者建议不要去修改源代码,因为cocos2d是一个标准,是完全公开的,就是说所有cocos2d项目中的libs应该是完全一致的,如果修改了,引擎就会失去兼容性,在这个项目能够正常运行的代码到了另一个项目就会报错,如果API是这种效果的话,我想任何一个开发者都会抓狂吧(J2ME就是一个很好的例子,由于硬件和API实现方法的差异,导致相同的代码在不同的手机上差异性很大),所以我们在开发时最好把它看成一个SDK,只要使用它的API就好。

  好吧,貌似又说了一堆和引擎的研究无关的东西,接下来我真的要将引擎的实际应用了==(其实作者之所以在一开始说这么多,并不是想凑字数,而是因为这些才是对开发者来说最重要的,如果一个程序员连基本的开发规范都不知道,那他即使有再好的引擎,甚至精通各种语言,也绝不可能写出高质量的代码,理由很简单,南辕北辙只会使你离目的地越来越远,但如果方向正确,即使是乌龟也有超过兔子的可能)

  在作者看来,cocos2d中最常用的类可以大致分为两部分——实体类和行为类,所谓实体类就是非常容易具体化,我们能够直观的感受到的东西,比如桌子、图片、人,这些是现实中实际存在的,实体类可以说就是对这些东西的模拟,当然也有稍微抽象一些的,比如菜单、按钮,但不管怎么说我们都很好理解它们的存在;行为类相比之下就显得很抽象了,它们封装的主体并不是某一事物(或者说是属性),而是方法,就是该类的实例表示的是实体类的一种行为模式,不同的行为模式需要不同的类来封装。从语文的角度讲,实体类就是主语(谁),行为类就是谓语(做什么),根据作者的开发经验,cocos2d大部分时间都是在围绕这两者工作。

  cocos2d中的类采用的是树状继承的方式,即最上层的基类只有几个,拓展功能都是通过一层层的继承父类来实现的,这样做便于类于类之间的协作,因为很多接口都是共通的(都来自于基类)。实体类的基类是CCNode(cocos2d的所有类都以CC开头,这就表示你完全可以54它的存在==b),它是所有实体类的父类,它内部封装的参数与方法是整个引擎中出镜率最高的,可以说是cocos2d的核心(菜单、精灵都是继承自它),下一章节会对它进行详细介绍。

  行为类则大部分继承自CCAtion,它的子类实例可以让一个CCNode对象执行一个行为,比如旋转、移动,甚至是自定义的行为,一个CCNode可以同时执行多个行为或是按顺序执行一个行为序列,有了这些类,开发者就可以在游戏中轻松加入各种华丽的效果了。

  有了CCNode和CCAction,我们是不是就可以开发游戏了呢?还不行,我们还需要一个乘纳它们的舞台。比如我们创建一张图片,并赋予它一个移动的行为,但是我们无法看见它,因为我们并没有把它显示到屏幕上,而舞台的作用就是把它上面的演员显示到屏幕上,呈现给观众。cocos2d实现舞台的方式是这样的:

  舞台分为三部分:导演–场景–层。首先,屏幕的显示是以场景为单位的,我们通过显示器看到的所有内容都在一个场景中,而层是构成场景的元素,就好比场景是一个舞台,我们通过它观看游戏中的世界,而层就是组成舞台的各种背景,比如远近、近景、字幕。当一段故事讲完后,我们可能需要切换到另一个舞台来讲述下一段故事,在戏剧中通常是拉上大幕,在幕后切换背景,然后再拉开大幕,在cocos2d中也是这个步骤,而完成这一工作的就是导演。导演类负责场景间的切换,场景负责将游戏中的元素呈现给玩家,而层负责容纳元素以及接收玩家的输入信息。

  通过这些类的合作,我们就可以进入自己创造的游戏世界了~

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Cocos2D代码目录结构与各部分功能简介

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Cocos2D代码目录结构与各部分功能简介

编程学习网:可能很多刚接触Cocos2D的同学对Cocos2D还不是很清楚,接下来本教程将带你深入了解Cocos2D的代码目录结构与各部分具体功能。
Cocos2D代码目录结构与各部分功能简介

编程热搜

  • 教你如何为你的Cocos2D-X资源加密解密
    编程学习网:我们平时在用Cocos2D-X时都不想让别人看到自己的文件,本篇教程将教你如何为你的Cocos2D-X资源加密解密。
    教你如何为你的Cocos2D-X资源加密解密
  • 教你如何用Cocos2D实现3d效果
    编程学习网:经过了之前几篇教程,相信各位同学已经对Cocos2D不陌生了,本篇教程将教你如何用Cocos2D实现3d效果。
    教你如何用Cocos2D实现3d效果
  • 零基础学习之教你如何用Cocos2D实现画中画效果
    编程学习网:没学过Cocos2D?没关系,多看看我们的教程,一步步成为游戏开发大神。本篇教程将教你如何用Cocos2D实现画中画效果。
    零基础学习之教你如何用Cocos2D实现画中画效果
  • 解析安卓Cocos2D-X2转移项目到Cocos2D-X3过程
    编程学习网:相信有一部分同学都经历过将项目从Cocos2D-X2转到Cocos2D-X3的麻烦,本篇教程将解析将项目从Cocos2D-X2转到Cocos2D-X3的过程。
    解析安卓Cocos2D-X2转移项目到Cocos2D-X3过程
  • 游戏脚本设计基础教程
    编程学习网:类游戏编程,特别是RPG脚本起着驱动整个游戏进程的作用。事件的运作建立在脚本的基础上,而脚本的设计建立在引擎的基础上,所以设计脚本之前因该想一想引擎,好的脚本对剧情的描述具有简单、准确的性质。
    游戏脚本设计基础教程
  • 成为游戏设计师必须具备的条件
    编程学习网:很多人喜欢玩游戏,他们总在不停感叹:这款游戏实在太精彩了,我要是能设计出这样的游戏就!而在他们行动之前,还有许多需要解答的问题罗列在前,我要如何成为游戏设计师?我需要具备哪些技能和素质?游戏设计师究竟在做什么工作?那么,游戏设计师有哪些任务呢?我们将讨论这个问题。
    成为游戏设计师必须具备的条件
  • 贪食蛇小游戏开发设计基础教程
    编程学习网: 贪吃蛇是家喻户晓的益智类小游戏,大家小时候应该都有玩过,编程学习网这里就不多介绍了,本教程将教你用MicrosoftVisualC++来制作它。
    贪食蛇小游戏开发设计基础教程
  • 成为优秀的Cocos2D程序员需要的十个品质
    编程学习网:相信各位同学都在为了成为优秀的Cocos2D程序员而奋斗着,那么一个优秀的Cocos2D程序员需要具备什么品质呢?本篇教程为你揭秘成为一个优秀的Cocos2D程序员所需要的十个品质。
    成为优秀的Cocos2D程序员需要的十个品质
  • Unity3d脚本基础
    最好用游戏引擎开发游戏,推荐Unity3D引擎,该引擎学习更简单,更易上手。游戏引擎可以编辑你的游戏场景、角色和游戏需要的东西。还有,学习编写脚本。编写脚本实际上就是编程。例如,你要在游戏中按键盘方向键来控制角色行走,这必须通过编写脚本。因此,脚本是游戏的逻辑。小编推荐你去学C编程,Unity3D通常是用C语言编写的。
    Unity3d脚本基础
  • 实例教程解析制作flash小游戏
    编程学习网:flash小游戏在游戏开发中是属于比较简单的类型,本例为FlashAS3.0实例教程,介绍射击类游戏的制作,主要分游戏界面的制作和类的编写两部分,从简单的开始做起,跟着教程动手做做看吧。
    实例教程解析制作flash小游戏

目录