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来切换。
如有错误 望大家指正。
相关文章推荐
- 我是运营,我没有假期
- 新一代iPad适配应用之游戏篇
- JavaScript游戏之优化篇
- js实现俄罗斯方块小游戏分享
- 用javascript做一个webgame连连看大家看下
- 【笔记】试玩 cocos2d-x-3.0beta on android
- 第三章 实现Eclipse Android与J2me平台切换
- 月光微博客
- 谈谈当今的游戏行业(1)——是否端游已死,页游将死?
- RakNet简单介绍,最新版本分享
- [源代码]Torque3D引擎SDK
- [游戏源码]Doom3公布源代码下载
- [视频]斗战神觉醒测试开始了,你还在等什么?
- 【资料分享】网游[天龙八部]源代码分享
- 第一个项目《水浒无双》3.25正式封测
- 重温大富翁游戏
- 3D游戏从头编之D3D(1)
- cocos2dx出现 Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)