coco2d基本概念
来源:互联网 发布:小米抢购软件神器 编辑:程序博客网 时间:2024/05/16 08:27
coco2d基本概念场景(Scenes)主控器(Director)层(Layers)精灵(Sprites)
开发cocos2d程序前有必要对一些基本概念进行介绍:
场景
负责游戏内容
场景(通过 CCScene 对象实现)是程序的工作流程中相对独立的部分。有些人可能喜欢称呼其为“屏幕”或“舞台”。你的应用程序可能具有许多场景,但在某刻只能有一个活动的场景。
例如,你的游戏中可能有下列场景:介绍,菜单,第一关,过场一,第二关,过场二,胜利过场,失败过场,高分记录等等。
你可以将每个场景定义成一个独立的程序; 你可以通过某种逻辑将这些场景联系起来(比如当介绍中断或者完成后,就进入菜单场景,第一关成功将进入过场一,而失败则进入失败过场,等等)。
CCScene 是由一个或者多个层(通过 CCLayer 对象实现)组成。场景的外观和行为是通过层来实现的。
CCScene 类家族中还包括一组称为“过渡” (通过 CCTransitionScene 对象实现),它允许你在两个场景之间进行生成一些特殊的过渡效果(比如淡入淡出,滑入效果等等)。
由于场景是 CCNode 的子类,因此可以使用“动作”对场景进行变换。
主控器
-----总控制 单列模式 只有一个
CCDirector 是一个负责控制场景变化的元件。
CCDirector 是一个单例对象。它知道当前哪个场景是活动的,它负责处理场景的控制,并允许进行“场景调用”之类的操作(比如在进入另一个场景时,暂停当前场景,并在适当时候返回原始场景)。在CCLayer 要求替换当前场景后,实际上是 CCDirector 进行的场景切换。
另外, CCDirector 还负责OpenGL ES的初始化。
层UI界面
CCLayer 拥有整个可进行绘制的区域,并且知道怎样对自身进行绘制。它还可以是半透明的(还可以在某些地方部分或者完全透明),这样可以看到层后的部分。层是对外观和行为进行定义的元件,所以大部分时间我们都说针对 CCLayer 及子类进行编程的。
CCLayer 还是进行事件处理的地方。事件是通过层进行传递直到某些层捕捉并进行处理。
尽管许多程序要求你定义自定义 CCLayer 类,但 cocos2d 提供了一些有用的预定义的层(比如简单的菜单层: CCMenu,颜色层: CCColorLayer, 其他层之间 的多路器:CCMultiplexLayer,等等)。
层还可以包括 CCSprite 对象, CCLabel 对象以及甚至是 CCLayer 对象。
由于层是 CCNode的子类,因此可以使用“动作”对场景进行变换。
精灵不实现鼠标事件
Cocos2d 的精灵与其他程序库描述的精灵一样,是一个可以进行移动,旋转,大小变化,动画等操作的2D图像。
精灵(通过 CCSprite 类实现)可以拥有其它精灵作为其子成员。当一个父成员进行变换时,其所有子成员也将同时进行变换。
由于精灵是 CCNode的子类,因此可以使用“动作”对场景进行变换。
- coco2d基本概念
- coco2d基本概念场景(Scenes)主控器(Director)层(Layers)精灵(Sprites)
- coco2d笔记
- Coco2d 资料
- coco2d 笔记
- coco2d开发笔记
- 手机定位 coco2d开发
- coco2d-x手记
- coco2d-x使用备忘录
- coco2d-x 动作类
- Coco2d-x linux编译
- coco2d-x xuexi
- coco2d-x 纹理研究
- coco2d-x touch事件
- 安装coco2d-x
- coco2d 第一天
- coco2d-x内存优化
- 3.coco2d 常用操作
- iOS消息推送机制中pem文件的生成
- 递归--杀鸡用牛刀
- Install Apache OpenOffice 3.4.1 on RHEL/CentOS 6.3/5.8 and Fedora 17/16
- 我给外管局补上汇率知识课
- 用Lucene加速Web站点搜索应用程序的开发
- coco2d基本概念
- Android 不同屏幕Bitmap显示图像的缩放问题
- Guide: Uninstall McAfee Internet Security 2012
- C++ sizeof 使用规则及陷阱分析
- Android实现图片缩放与旋转
- tomcat6_apache2.2_ajp负载均衡加集群实战
- Sharepoint ECMAScript对象模型系列 使用ECMA操作列表项对象(listitem)
- iOS 6版本与之前版本差异总结
- linux 下的socket 调试工具 netcat 使用