`

[转]Cocos2D的4个基本概念

 
阅读更多
开发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.
分享到:
评论

相关推荐

    Cocos2d基础和基本函数

    本文档介绍了cocos2d的基本函数和一些基本概念

    我所理解的Cocos2d-x

    《我所理解的Cocos2d-x》偏重讲解每个知识模块的概念及原理,使读者能够透过现象看到其背后的工作机制,所以本书在内容组织上并不是围绕Cocos2d-x的接口使用来展开,而是按照通用游戏引擎架构及图形学的内容进行组织...

    我所理解的Cocos2d-x ,秦春林编著

    《我所理解的Cocos2d-x》偏重讲解每个知识模块的概念及原理,使读者能够透过现象看到其背后的工作机制,所以本书在内容组织上并不是围绕Cocos2d-x的接口使用来展开,而是按照通用游戏引擎架构及图形学的内容进行组织...

    Cocos2D-X游戏开发技术精解

    第1章 Cocos2D-X引擎的介绍 1 1.1 何为游戏引擎 1 1.1.1 游戏的核心—引擎 1 1.1.2 引擎的特点 2 1.1.3 知名的引擎介绍 4 1.1.4 引擎的分类 5 1.2 Cocos2D-X引擎的来历 8 1.3 引擎的版本 9 1.4 下载与安装 10 1.5 ...

    Learn iPhone and iPad cocos2d Game Development

     12.1 物理引擎的基本概念  12.2 物理引擎的局限性  12.3 box2d与chipmunk  12.4 box2d  12.4.1 box2d眼中的世界  12.4.2 把移动范围限制在屏幕内  12.4.3 转换点  12.4.4 在box2d世界中添加盒子  12.4.5 ...

    coco2d的4个基本概念

    Cocos2D的4个基本概念_CocoaChina 苹果开发中文站 - 最热的iPhone开发社区 最热的苹果开发社区 最热的iPad开发社区.webarchive

    Cocos2d-x iphone 开发教程(有文字代码)

    有教程,有代码。较清晰简洁地较少cocos2d-x的基本概念使用方法。

    Cocos2d开发教程

    cocos2d-iphone........................................................................................................................4 创建并运行 Hellow World............................................

    MagicTools引擎(d3d与opengles渲染器,集成cocos2d)

    目前这个引擎将基本功能和架构搭起来了,还缺不少具体的功能,希望能对想了解基本引擎架构和想移植cocos2d到d3d下的朋友有所帮助。 呵呵,也希望能和对3d引擎架构方面感兴趣的朋友可以多交流一下。qq:4334759 对了...

    Cocos2d-x 3.x入门教程(二):Node节点类

    上一篇文章《菜鸟学习Cocos2d-x 3.x——基础概念》中介绍了以下Cocos2d-x的基本结构和一些重要的类,而这里开始对这些重要的类进行单独的介绍与分析。开始吧~~~ Node节点类 Node类是Cocos2d-x中一个非常重要的类,它...

    简单文字游戏小案例

    初步接触了cocos2d-x的基本概念和基础用法。这个案例将会基本实现游戏的逻辑,完成游戏的主体部分。采用以下步骤: 使TileView可拖动 捕获TileView停止移动的事件 分析TileView是否放在正确的位置上 创建与原来Layer...

Global site tag (gtag.js) - Google Analytics