现在的位置: 首页 > 综合 > 正文

Cocos2D的4个基本概念

2018年01月10日 ⁄ 综合 ⁄ 共 1506字 ⁄ 字号 评论关闭

开发cocos2d 应用程序,必须先了解如下4个概念:
Scenes  
Director
Layers
Sprites

Scenes
scene(即 CCScene类)是app 工作流上独立块。scene也叫做 screents 或者“stages”. 一个app可能拥有多个scenes, 但在任何时候只能有一个是激活状态的。举个例子,某个游戏可能拥有如下scenes: Intro, Menu菜单,
Level 1, Cutscene 1, Level 2, Winning cutscene, losing cutscene, High scores screen等等. 可以把这些scenes定义成独立的应用块;这些scenes之间包含了相互连接的逻辑(当中断或者完成,intro会进入menu,level1 引导您渠道cutscene 1 假如完成或者丢失cutscene,等)


一个cocos2d CCScene 对象 由一个或多个layers组成(layer即CCLayer 对象),layers之间是前后相连的。layer提供了scene的外观 appearance和行为behavior;通常的用法是直接用一个或多个layers实例化一个scence;
CCScene的子类CCTrasitionScene 实现移动transitions , 提供两个scenes 之间的转移效果((比如fade out/in, slide from a side, 等效果).)由于scenes 是CCNode子类,所以scenes可以手工或者用actions来转变坐标。



Director
CCDirector 负责scenes之间的前进或后退。
CCDirector是singleton模式的共享的对象。它知道当前哪个scene是激活。 CCDirector以stack的方式处理scenes的调用(当另一个scene进入的时候,暂停当前的scene,完成之后再返回原来的 scene),CCDirector 负责更换CCScene,在
CCLayer 被push的时候,更换或结束当前的scene。另外:CCDirector 负责初始化OpenGL ES。


Layers
层:Layers 

CCLayer 对象定义了可描绘的区域,定义了描绘的规则。CCLayer可以实现半透明的效果,令您看到它背后的layers。概括地说:CCLayer 用于定义外观和事件behavior。所以,当编写cocos2d程序的时候,大部分工作就是编写CCLayer的子类去实现所要的效果。 



 
CCLayer 负责处理事件event。Events 会从第一个向最后一个layers传递,直至某个layer获取event并处理它。

虽然某个时候,你需要客户化一个CCLayer类, 但cocos2d已经实现了多种功能的layers(比如菜单layer: CCMenu, 颜色层layer: CCColorLayer,等等)。
Layers 可以包含CCSprite 对象, CCLabel 对象 和其它layer对象。layers是CCNode的子类,所以他们也可以使用actions来转
换坐标. See Actions for more detail about actions.


Sprites
cocos2d的sprite对象就是一个可以移动、选择、伸缩、动画的2d图形,CCSprite 对象的子成员中可以包含其它的CCSprite 对象。当CCSprite 对象转换坐标系的时候,它所包含的CCSprite 对象也会转换转换坐标系。sprites 是CCNode
的子类
所以他们也可以使用actions来转换坐标. See Actions for more detail about actions.

抱歉!评论已关闭.