cocos2d-x项目101次相遇: Scenes , Director, Layers, Sprites
cocos2d-x 101次相遇 / 文件夹
1 安装和环境搭建 -xcode
2 Scenes , Director, Layers, Sprites
3 建立图片菜单
4 在HelloWorld上--建立新场景
5 添加一个精灵sprite
5.1 缩小sprite并使之完整显示
6 action ,移动sprite
7 3.0 的点击事件,CCTouchDelegate已经停用了
8 使用触摸事件移动 精灵
2.Scenes 。 Director, Layers。 Sprites
开发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,等)
一个cocos2dCCScene 对象由一个或多个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-x项目101次相遇: Scenes , Director, Layers, Sprites的更多相关文章
- cocos2d-x项目101次相遇-安装和环境搭建 -xcode
cocos2d-x 101次相遇 / 文件夹 1 安装和环境搭建 -xcode 2 Scenes . Director, Layers, Sprites 3 建立图片菜单 4 在 ...
- cocos2d-x项目101次相遇:在HelloWorld上--建立新场景
cocos2d-x 101次相遇 / 文件夹 1 安装和环境搭建 -xcode 2 Scenes , Director, Layers, Sprites 3 建立图片菜单 4 在 ...
- cocos2d-x项目101次相遇:使用触摸事件移动 精灵
cocos2d-x 101次相遇 / 文件夹 1 安装和环境搭建 -xcode 2 Scenes , Director, Layers, Sprites 3 建立图片菜单 4 在 ...
- Cocos2D创建项目
创建项目 配置好开发环境后, 用CMD切换到~\cocos2d\cocos2d-x-2.2.2\tools\project-creator目录上执行以下脚本 python create_project ...
- VSCode配合chrome浏览器调试cocos2d js项目
1.准备阶段 具备调试功能的VSCode(我的是在win10上,版本是1.17.1) 在VSCode里下载安装Debugger for Chrome扩展插件. 2.具体操作 创建一个cocosjs工程 ...
- cocos2d Programming Guide
http://python.cocos2d.org/doc/programming_guide/index.html The cocos2d Programming Guide provides in ...
- Director Scene Layer and Sprite
Scenes Director Layers Multiple Layers Example: Sprites References Scenes A scene (implemented with ...
- 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)
Cocos2d (v.3.0) rendering pipeline roadmap Why (the vision) The way currently Cocos2d does rendering ...
- cocos2d环境及创建一个自己的项目
一. mac环境: 1.在终端操作,准备好mac系统下的sdk,adt,ndk,ant文件,放在自己的目录中 2.进入mac终端,输入: vim ~/.bash_profile 然后回 ...
随机推荐
- 减少可执行程序size的三个常用软件
减少可执行程序size的三个常用软件 linux下面,直接用strip 这个命令 #:strip xxx 可以去掉编译调试信息和各种符号表,能够大大减小可执行程序size windows下面这种exe ...
- InsertOnSubmit、InsertAllOnSubmit等区别 (转)
a. InsertOnSubmit: 将一个实体添加到datacontext对象中,并在SubmitChange()的时候执行更改. b. InsertAllOnSubmit:将一个实体集合添加到da ...
- AOP编程,spring实现及JDK,CGLIB实现
什么是AOP? AOP(Aspect-OrientedProgramming,面向方面编程)和OOP(Object-Oriented Programing,面向对象编程)思想不同,两者并非对立关系,前 ...
- linux+Qt程序如何打包发布
源地址:http://zhidao.baidu.com/link?url=UTWEoXS21B4p1L5LJmYgGBMAr0dTdXfzmaGbWeltnwQLA3Uc9_K9RcDQFFIArbx ...
- Java+7入门经典 - 6 扩展类与继承 Part 1/2
第6章 扩展类与继承 面向对象编程的一个重要特性: 允许基于已定义的类创建新的类; 6.1 使用已有的类 派生 derivation, 派生类 derived class, 直接子类 direct s ...
- GetCursorPos/WindowFromPoint/SendMessage
GetCursorPos/WindowFromPoint/SendMessage (用API函数向Edit框发送字符) GetCursorPos(mPoint); DTWND:=WindowFromP ...
- mysql 创建函数set global log_bin_trust_function_creators=TRUE;
<pre name="code" class="html">set global log_bin_trust_function_creators=T ...
- Android 高手进阶,自己定义圆形进度条
背景介绍 在Android 开发中,我们常常遇到各种各样绚丽的控件,所以,依靠我们Android本身所带的控件是远远不够的,许多时候须要我们自定义控件,在开发的过程中.我们公司遇到了一种须要自己写的一 ...
- Bootstrap,Foundation和TypeScript
http://www.oschina.net/question/12_128155 http://www.oschina.net/news/72330/typescript-2-0 给自己提个醒,随时 ...
- 基于FPGA的红外遥控解码与PC串口通信
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...