Cocos2d-x的入门知识

 

既然是学习一套全新的内容,我想还是先在脑子里对它有个大致的印象比较好吧,我个人就比较反对那种上来什么都不说,直接"Hello World"开始,24天精通之类的教程。

下面先介绍一下这个引擎的基本概念和API结构,让我们在整体上对它有个把握,然后再每个概念下有必要的话会加入详细描述的链接,

基本概念

scene (场景)

场景是游戏工作流的独立单元,有人喜欢称之为关卡、界面,游戏中可以有很多的场景,但是在同一时间,只能激活一个在前台显示。

一般游戏中都是有这么几个场景: 开始、选关、游戏界面、游戏结束画面(胜利or失败)

我们根据这几个场景定义几个不同的scene类,scene之间的切换就完成了整个游戏在大方向上的逻辑循环

sanguo3  

除了Scene之外还有一个 CCTransitionScene 类,它和它的子类们可以由Scene的实例来生成,这样可以在Scene切换的时候创造出比较绚丽的效果,具体的可以参考 源码里的 TestCpp.

//-------------------------------------------------------------------------------------------------------------------------------------------------

Layer(层)

Scene就是由很多Layer构成的,熟悉ps的人肯定知道,就像ps里面的图层,一层层堆起来,最终Scene的显示效果就是所有Layer的综合,其实Scene只是一个容器,具体的与用户交互以及显示都是Layer来实现的。

 

//-------------------------------------------------------------------------------------------------------------------------------------------------

Director(导演)

前面既然提到了Scene之间是可以切换的,就需要有个来管理它如何切换的对象,就是这个Director了,导演嘛,指导指导着就切换了,呵呵。

具体的类就是 CCDirector

//-------------------------------------------------------------------------------------------------------------------------------------------------

Sprite(精灵)

刚才在Layer那一节,可以看到每一层上都是有一些小的物件组成的,我们姑且可以理解为物件就是对应这个Sprite,比如一张图片,一个文字。

很多Sprite 构成 Layer,很多Layer构成 Scene, 大致就是这个样子。

但是细细追究一下,Sprite 和Layer都是从CCNode中继承来的,都有Children属性和AddChild方法,因此我们可以把Sprite添加到另外一个Sprite中,一个Layer放到另外一个Layer中,不理解没关系,可以后面再看,这里简单理解就行

//-------------------------------------------------------------------------------------------------------------------------------------------------

Action (动作)

在Cocos2d-x中把一些常见的动作做了一下封装,比如移动,旋转,跳动,这些统称为Action,此外Action 还可以由一系列动画(比如飞行动画)来组成,我们可以通过任意一个CCNode对象的 runAction () 方法来执行某一个动作。

//-------------------------------------------------------------------------------------------------------------------------------------------------

 

参考链接:

http://www.cnblogs.com/nowpaper/

http://cocos2d-x.org/projects/cocos2d-x/wiki/Director_Scene_Layer_and_Sprite

 QQ: 631767297 欢迎朋友们可以一起交流学习。

posted @ 2013-03-12 08:04  jeekun  阅读(1010)  评论(0编辑  收藏  举报