4.【cocos2d翻译系列】Basic concepts-basic concepts(基本概念)

cocos2d基本概念

在这片文章中将会介绍一些基本概念,你要开发cocos2d应用程序这些是必须要了解的。

  • Scene  (场景)
  • Director (导演)
  • Layer  (层)
  • Sprite  (精灵)

 

  • Scene (场景)

scene(实现对象是CCScene)是应用中的一个几乎独立的工作流程。有人可能把它称作“screens”或者“stages”(舞台)。

你的app可以有许多的scene,但是在一个给定的时间内只能有一个激活的scene。


举例来说,你可以有一个游戏带有下面这些scene:介绍,菜单,第1关,剧情1,第2关,胜利的剧情,失败的剧情,最高分屏。


你可以完全自己定义每一个scene甚至几乎可以像一个个单独的app,它们之间包含一点逻辑上的联系就是scene之间的连接

(当介绍停止或被中断时,如果是正常结束Level1会转到cutscene1,否则你失败了就会转到Losing cutscene...)

cocos2d的CCScene是由一个或多个layers(层)(由CCLayer对象实现)组成的,它们被重叠到一起。Layers使scene可以显示

(appearance 并且存在一定的行为(behavior)。正常情况下,用你所需要的那个layers来实例化Scene。

 

这里有个CCScene的子类叫做transitions(由CCTransitionScene对象实现),它允许你在两个scene之间制作过渡效果。

(淡入/淡出,从一边进入,等等)

 

因为scenes是CCNode的子类,它可以手动的变换或使用actions变换。想了解更多actions的细节请参阅Actions

 

  • Director (导演)
 
CCDirector就是一个负责在scene之间来回切换的组件。
 
CCDirector是一个单例模式的对象。它知道当前哪个scene是激活的,
并且它维护了一个存储scenes的栈,从而允许一些scene的方法调用(在另一个scene进来时暂停一个scene并把它搁置,随后
返回原来的那个)。在一个CCLayer被要求入栈,替换,或者当前的scene结束时实际上都是CCDirector来改换CCScene的。
 
CCDirector还负责初始化OpenGL ES(OpenGL的嵌入式版本,cocos2d就是基于OpenGL开发的)
 
  • Layers (层)

CCLayer有一个可绘制的区域,并且知道如何绘制它自己。它可以是半透明的,允许看到它下面的layers。Layers就是

定义的一个显示(apperance)+行为(behavior),所以你的绝大都数时间都会花费在编写CCLayer的子类完成自己的功能上。

CCLayer也是你定义事件处理器的地方。事件传递给layers(从前倒后)直到一些layer捕获到事件并接受事件。

 

尽管一系列的app都会要求你去定义自己的CCLayer类,但是cocos2d也提供了一些预定义的layers(一个简单

地菜单layer:CCMenu 一个颜色layer:CCColorLayer,一个layer之间的混合器:CCMultiplexLayer,等)。

layers可以包含CCSprite对象,CCLabel对象和其他CCLayer对象的子类。

 

因为scenes是CCNode的子类,它可以手动的变换或使用actions变换。想了解更多actions的细节请参阅Actions。

 

  •  Sprites(精灵)

cocos2d的精灵和其他计算机的精灵差不多。精灵就是个2D的图片可以移动,旋转,缩放,动画,等。

 

Sprites(由CCSprite实现)可以拥有其它的sprites作为孩子。当父精灵移动变换时,所有它的孩子都会跟着移动,

 

因为scenes是CCNode的子类,它可以手动的变换或使用actions变换。想了解更多actions的细节请参阅Actions。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值