您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx一些基本概念

2014-02-01 12:37 190 查看


Director  导演 Scene 场景 Layer 层 Sprite精灵

翻译自http://www.cocos2d-x.org/wiki/Director_Scene_Layer_and_Sprite
导演:

导演是一个单例对象,用来负责场景间的切换,导航,用这个对象来切换场景,使特定的场景被激活,或者处于不活跃的状态,cocos2dx用一个栈来存放这些场景,导演这个对象来管理这个栈。

场景:

场景,实现自CCScene对象,有的人也把场景称之为关卡,一个游戏可能又很多的场景,但是一个特定的时候只能有一个场景是活跃的状态。

举个例子来说,一个游戏可能又如下的几个场景,游戏介绍,菜单,第一关等等,每个场景都是独立的,但是与其他的场景还有着关联,比如,介绍场景之后就会跳转到菜单,第一关打完了可能会跳转到第二关,如下这个图就表示了这种关系,同时这也是一个游戏的流程图。



一个CCScene是由很多的CCNode来组成的,这些CCNode做为children被添加到场景中,CCNode可能是精灵,层,这些CCNode赋予了场景行为和外观。通常的做法是,先把层加入到场景中,然后实现CCNode的其他的一些对象,并把这些对象添加到层中。

由于场景也是CCNode的一个子类,可以由CCAction来手动的切换不同的场景。

如果要是想写出一些场景切换的效果,比如淡出,飞入等,可以通过transitions这个CCScene的子类。

层:

CCLayer是一个可以处理触摸事件的CCNode,CCLayer可以是半透明的,因此你可以看到一个Layer下面的Layer,由于层在定义游戏外观和行为上有很重要的作用,所以,我们应该花多一些的时间来处理层。

CCLayer可以处理触摸事件,通过实现一些关于触摸的方法,CCLayer可以用来处理用户的互动并给予回应,如果发生了一个触摸事件,那么这个事件会影响到一个场景中的所有层,直到有层对这个事件做出响应。

cocos2d已经提供了很多的层,比如CCMenu,CCColorLayer,CCLayerMultiplex。

层中可以添加很多精灵,标签等对象,由于一个层是CCNode的子类,可以通过CCAction来处理层之间的切换。

精灵:

在很多游戏引擎中都有这个概念,比如主角,敌人,障碍物,可能都是一个精灵,他们可能移动,伸缩,有动画效果,一个精灵也可能包含其他的精灵,和层一样,也是通过CCAction来切换。

如有错误 望大家指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos2dx 游戏