cocos2dx一些基本概念

Director  导演 Scene 场景 Layer 层 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来切换。

如有错误 望大家指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值