cocos2d-x项目101次相遇: Scenes , Director, Layers, Sprites

发布时间:2020-07-22 10:27:57 作者:中游学院
来源:网络 阅读:343


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会进入menulevel1 引导您渠道cutscene 1 假如完成或者丢失cutscene,等)

一个cocos2dCCScene 对象由一个或多个layers组成(layerCCLayer 对象),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之间的前进或后退。

CCDirectorsingleton模式的共享的对象。它知道当前哪个scene是激活。 CCDirectorstack的方式处理scenes的调用(当另一个scene进入的时候,暂停当前的scene,完成之后再返回原来的 scene),CCDirector 负责更换CCScene, CCLayer push的时候,更换或结束当前的scene。另外:CCDirector 负责初始化OpenGL ES

Layers

层:Layers

CCLayer 对象定义了可描绘的区域,定义了描绘的规则。CCLayer可以实现半透明的效果,令您看到它背后的layers。概括地说:CCLayer 用于定义外观和事件behavior。所以,当编写cocos2d程序的时候,大部分工作就是编写CCLayer的子类去实现所要的效果。

CCLayer 负责处理事件eventEvents 会从第一个向最后一个layers传递,直至某个layer获取event并处理它。

虽然某个时候,你需要客户化一个CCLayer类,cocos2d已经实现了多种功能的layers(比如菜单layer: CCMenu, 颜色层layer: CCColorLayer,等等)。

Layers 可以包含CCSprite 对象, CCLabel 对象和其它layer对象。layersCCNode的子类,所以他们也可以使用actions来转换坐标. See Actions for more detail about actions.

Sprites

cocos2dsprite对象就是一个可以移动、选择、伸缩、动画的2d图形,CCSprite 对象的子成员中可以包含其它的CCSprite 对象。当CCSprite 对象转换坐标系的时候,它所包含的CCSprite 对象也会转换转换坐标系。sprites CCNode 的子类, 所以他们也可以使用actions来转换坐标. See Actions for more detail about actions.


推荐阅读:
  1. java Map接口TreeMap涉及类的比较
  2. Django应用程序入口WSGIHandler源码解析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

应用程序 游戏开发 cocos2dx项目

上一篇:使用linux的sndconfig命令设置声卡

下一篇:使用linux的shift命令移动位置参数

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》