您的位置:首页 > 移动开发 > Cocos引擎

【开发者指南】第二章:Cocos2d-x中的基础概念——学习笔记

2015-09-09 12:46 726 查看
  *一个游戏引擎就是一个可以提供大多游戏常用功能的软件作品。你之前也许听到过将它称之为API或者框架。但在本书中我们会使用游戏引擎这个比较正式的术语。

  通常游戏引擎中都包含这些组件,比如:渲染器,2d/3d图形,碰撞检测,物理引擎,声音,控制器,动画等。

  *Cocos2d-x提供了
Scene
,
Transition
,
Sprite
,
Menu
,
Sprite3D
,
Audio
等许多对象。你创建游戏所需要的内容都在这了。

主要组件

  *Cocos2d-x的核心类为
Scene
,
Node
,
Sprite
,
Menu
Action
对象。

导演类

Cocos2d-x使用
Director
(导演)的概念。是的,就像拍电影一样!

Director
类控制着游戏整体并通知游戏接下来需要做什么。

把你自己当成影片的监制人,你肯定会通知导演(
Director
)该如何做!

Director
导演的一个通常作用是控制
Scene
切换和切换效果。

导演(
Director
)是一个共享的单例对象,你可以从代码的任何地方调用。

这里是一个典型游戏的流程图。导演 (
Director
)通过这个流程图来对游戏进行调渡并决定了游戏的标准:



场景

游戏中你可能需要一个主菜单,几个关卡和一个结束场景。

你该如何将这些内容单独的分开来呢?是的,这就需要
Scene


回想一下你喜欢的电影,你会发现它很显示的划分出了一些场景,或者单独的故事剧情。

如果我们按照这种思路来处理游戏,不管游戏有多么简单但我们应该想出至少有几个场景。

场景都由
Renderer
进行绘制。
Renderer
可以用来绘制精灵或者其它对象到场景中。为了更好的理解这点我们需要了解一些关于_Scene Graph_的知识。

场景图

_scene graph_是一个用来存储场景图形的数据结构。

_scene graph_由树节点构成。(它虽然叫screne graph,但它实际上是用树形结构来存储)。



由于_Scene Graph_是树形结构;你可以对它进行遍历。Cocos2d-x使用了_in-order walk_算法。_in-order walk算法的流程如图所示,从根节点开始,然后到右边的树。由于右边的节点是最后绘制的,所以它会首先被显示到场景中。



//这里有疑问;

_scene graph_很容易理解,让我们来对图中所示的场景进行分解:



将上面的场景表示为一个树形,可以简化为如下:



另一个需要注意的地方是,_z-order_Z轴为负数的元素会出现在树的左侧,而_z-order_Z轴为正数的会出现在树的右侧。

当在场景中添加结点的时候需要注意这一点。当然你可以在任意的地方添加节点元素它们会被按钮Z轴的大小自动排序。

在这个概念的基础上,我们可以把
Scene
的视为一个
Node
对象。

先暂时不看上一个场景,来看一下_scene graph_如何利用_z轴_来布局
Scene




图中左边的场景是由许多节点对象组成的,但每个对象都处在不同的_z-order_Z轴上。

在Cocos2d-x中,可以通过API中的
addChild()
方法来创建_scene graph_场景

精灵

  精灵就是游戏中在场景里进行移动的对象。当你操纵一个精灵的时候,它就是一个精灵。如果你不对它进行操作,那它就是一个节点
Node


  _Sprites_精灵很容易创建,它具有很多属性,比如:坐标
position
,翻转
rotation
,缩放
scale
,透明度
opacity
,颜色
color
等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: