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 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个基本概念相关推荐
- Linux操作系统学习笔记【入门必备】
Linux操作系统学习笔记[入门必备] 文章目录 Linux操作系统学习笔记[入门必备] 1.Linux入门 2.Linux目录结构 3.远程登录 3.1 远程登录Linux-Xshell5 3.2 ...
- 第一篇 入门必备 (Android学习笔记)
第一篇 入门必备 第1章 初识Android 第2章 搭建你的开发环境 第3章 创建第一个程序--HelloWorld 第4章 使用Android工具 ●Android之父 Android安迪·罗宾( ...
- python机器人编程教程入门_机器人操作系统(ROS)入门必备:机器人编程一学就会...
原标题:机器人操作系统(ROS)入门必备:机器人编程一学就会 ROS经过十几年的发展,已经得到了极大的推广和应用,尤其是在学术界.卡耐基梅隆大学机器人研究所的大部分实验室都是基于ROS编程的,现在所在 ...
- python基础一入门必备知识-Python数据分析入门必备基础知识
今天,老师要带大家解数据分析的定义.核心思路.应用领域以及开发流程,向大家全方位展示数据分析入门必备基础知识,全都是干货哦!虽然看完本文,不能让大家立马变身为一名数据分析师,但是能让大家对数据分析有一 ...
- JavaScript从入门到精通之入门篇(一)概念与语法
入门篇大纲 第一部分 概念与语法 1.JavaScript的历史 2.基本概念 3.JavaScript的使用.调试和异常处理 4.基本词法和变量 5.数据类型和类型转换 6.运算符 算数运算符 赋值 ...
- 排序算法之---堆排序(很重要的一个结构,新手入门必备)
排序算法之---堆排序(很重要的一个结构,新手入门必备) 先来简单的介绍一下堆结构: 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlo ...
- eyoucms 入门必备
eyoucms 入门必备 入门说明: eyoucms官网 前后台演示(请查看官网)
- 统一建模语言UML轻松入门(1)――基本概念
统一建模语言UML轻松入门(1)――基本概念 --------------------------------------------------------------------- 宋宝华 ema ...
- HDU1000 HDU1089-HDU1096 A+B for Input-Output Practice (I)-(VIII)(入门必备训练)
这若干个程序是输入输出的基本模式,需要烂熟于心. 首先给出测试用程序.这是每一个OJ都会有的测试程序,可以用来走一个流程体会一下. 后8个程序是有关输入输出练习,是入门必备.这些几乎涵盖了所有输入输出 ...
最新文章
- Python培训教程分享:10款超好用的Python开发工具
- [原创]浅谈对华为34岁以上员工“退休”
- UWP 矢量字体图标(iconfont)使用
- 给GridView删除列添加删除提示
- Linux界面自动化测试框架不完全汇总
- Ubuntu开源推进全面展开抢占微软市场
- datastage 重启 续
- 部署Docker----解决删除none镜像问题
- 2018年android手机版本统计,安兔兔发布2018年12月Android手机性能排行榜
- PB中实现备份数据库/还原数据库
- 在Java中将前导零添加到数字? [重复]
- python函数的面向对象——面向对象设计
- android微信支付
- VS编译器的简单操作
- 虚拟打印机安装后没了该怎么办
- EDA技术试验二:组合逻辑电路设计、仿真与实现实验
- JAVA版本与C#配对的SM2加签验签
- Linux中使用sendmail发送邮件,指定任意邮件发送人
- python3报错 TypeError: can’t concat bytes to str 原因与解决方法
- linux图像显示(五)使用freetype处理矢量字体
热门文章
- oracle11 登陆慢,oracle11g安装后电脑启动很慢怎么解决
- 在easyui中如何使用ajax请求数据,Ajax 中正常使用jquery-easyui (转)
- 2017-2018 Northwestern European Regional Contest (NWERC 2017)
- (转载)c/c++笔试面试题(2)
- 程序员挑战高薪,你必须会的十大面试题《一》
- 关于Git和Github
- C# 根据年、月、周、星期获得日期等
- 基于Redis的CustomerSessionProvider(一)
- GDI+ 学习记录(31) 图像颜色变换(TGPImageAttributes)
- 20万+奖金池,“智在飞翔”2021 • 无人飞行器智能感知大赛,战火重燃 • 等你来战!!...