开发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 scoresscreen等等.可以把这些scenes定义成独立的应用块;这些scenes之间包含了相互连接的逻辑(当中断或者完成,intro会进入menu,level1引导您渠道cutscene 1 假如完成或者丢失cutscene,等)

一个cocos2d CCScene对象 由一个或多个layers组成(layer即CCLayer 对象),layers之间是前后相连的。layer提供了scene的外观appearance和行为behavior;通常的用法是直接用一个或多个layers实例化一个scence;CCScene的子类CCTrasitionScene 实现移动transitions , 提供两个scenes 之间的转移效果((比如fadeout/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 入门必备4个基本概念相关推荐

  1. Linux操作系统学习笔记【入门必备】

    Linux操作系统学习笔记[入门必备] 文章目录 Linux操作系统学习笔记[入门必备] 1.Linux入门 2.Linux目录结构 3.远程登录 3.1 远程登录Linux-Xshell5 3.2 ...

  2. 第一篇 入门必备 (Android学习笔记)

    第一篇 入门必备 第1章 初识Android 第2章 搭建你的开发环境 第3章 创建第一个程序--HelloWorld 第4章 使用Android工具 ●Android之父 Android安迪·罗宾( ...

  3. python机器人编程教程入门_机器人操作系统(ROS)入门必备:机器人编程一学就会...

    原标题:机器人操作系统(ROS)入门必备:机器人编程一学就会 ROS经过十几年的发展,已经得到了极大的推广和应用,尤其是在学术界.卡耐基梅隆大学机器人研究所的大部分实验室都是基于ROS编程的,现在所在 ...

  4. python基础一入门必备知识-Python数据分析入门必备基础知识

    今天,老师要带大家解数据分析的定义.核心思路.应用领域以及开发流程,向大家全方位展示数据分析入门必备基础知识,全都是干货哦!虽然看完本文,不能让大家立马变身为一名数据分析师,但是能让大家对数据分析有一 ...

  5. JavaScript从入门到精通之入门篇(一)概念与语法

    入门篇大纲 第一部分 概念与语法 1.JavaScript的历史 2.基本概念 3.JavaScript的使用.调试和异常处理 4.基本词法和变量 5.数据类型和类型转换 6.运算符 算数运算符 赋值 ...

  6. 排序算法之---堆排序(很重要的一个结构,新手入门必备)

    排序算法之---堆排序(很重要的一个结构,新手入门必备) 先来简单的介绍一下堆结构: 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlo ...

  7. eyoucms 入门必备

    eyoucms 入门必备 入门说明: eyoucms官网 前后台演示(请查看官网)

  8. 统一建模语言UML轻松入门(1)――基本概念

    统一建模语言UML轻松入门(1)――基本概念 --------------------------------------------------------------------- 宋宝华 ema ...

  9. HDU1000 HDU1089-HDU1096 A+B for Input-Output Practice (I)-(VIII)(入门必备训练)

    这若干个程序是输入输出的基本模式,需要烂熟于心. 首先给出测试用程序.这是每一个OJ都会有的测试程序,可以用来走一个流程体会一下. 后8个程序是有关输入输出练习,是入门必备.这些几乎涵盖了所有输入输出 ...

最新文章

  1. Python培训教程分享:10款超好用的Python开发工具
  2. [原创]浅谈对华为34岁以上员工“退休”
  3. UWP 矢量字体图标(iconfont)使用
  4. 给GridView删除列添加删除提示
  5. Linux界面自动化测试框架不完全汇总
  6. Ubuntu开源推进全面展开抢占微软市场
  7. datastage 重启 续
  8. 部署Docker----解决删除none镜像问题
  9. 2018年android手机版本统计,安兔兔发布2018年12月Android手机性能排行榜
  10. PB中实现备份数据库/还原数据库
  11. 在Java中将前导零添加到数字? [重复]
  12. python函数的面向对象——面向对象设计
  13. android微信支付
  14. VS编译器的简单操作
  15. 虚拟打印机安装后没了该怎么办
  16. EDA技术试验二:组合逻辑电路设计、仿真与实现实验
  17. JAVA版本与C#配对的SM2加签验签
  18. Linux中使用sendmail发送邮件,指定任意邮件发送人
  19. python3报错 TypeError: can’t concat bytes to str 原因与解决方法
  20. linux图像显示(五)使用freetype处理矢量字体

热门文章

  1. oracle11 登陆慢,oracle11g安装后电脑启动很慢怎么解决
  2. 在easyui中如何使用ajax请求数据,Ajax 中正常使用jquery-easyui (转)
  3. 2017-2018 Northwestern European Regional Contest (NWERC 2017)
  4. (转载)c/c++笔试面试题(2)
  5. 程序员挑战高薪,你必须会的十大面试题《一》
  6. 关于Git和Github
  7. C# 根据年、月、周、星期获得日期等
  8. 基于Redis的CustomerSessionProvider(一)
  9. GDI+ 学习记录(31) 图像颜色变换(TGPImageAttributes)
  10. 20万+奖金池,“智在飞翔”2021 • 无人飞行器智能感知大赛,战火重燃 • 等你来战!!...