【Cocos2d-x】开发基础-Cocos2d-x核心概念

原创 陈 浩翔  2017-06-30 09:54  阅读 2 次 评论 0 条

导演

导演类Director(v3.0之前是CCDirector)用于管理场景对象。
(所以3.0版本和以前的最大区别(我们看到的最大区别)就是类前面的CC,3.0版本是把所以的类前缀CC都去掉了)

采用单例设计模式!(不多解释啦,不知道的朋友请搜索)
c++ 获得导演类Director实例语句
auto director = Director::getInstance();//获取唯一的导演 单例模式

导演对象的职责/作用

访问和改变场景
访问Cocos2d-x的配置信息
暂停、继续和停止游戏
转换坐标

上面只是导演对象的职责其中一部分,还有其他很多,但我们不需要让导演做很多事情(其他的事被隐藏了),我们用的最多的应该就是访问和改变场景、暂停、继续和停止游戏和转换坐标

场景

场景类Scene(v3.0之前是CCScene)是构成游戏的界面,类似于电影中的场景。

像导演、场景、包括层,精灵等这些游戏的概念,其实都是从电影行业中过渡过来的。
那么,电影行业,我们知道有场景,有导演。
场景就是我们拍这场戏,我们布置的景 比如打斗的场景等
场景中会有男主角,女主角,那么男女主角就相当于我们这里的精灵了,包括道具什么的(精灵),这些东西在一起,就构成了层

所以场景里面也会放一些层

场景大致可以分为以下几类

展示类场景。播放视频或简单的在图像上输出文字,来实现游戏的开场介绍、胜利和失败提示、帮助介绍
选项类场景。主菜单,设置游戏参数等(比如开始,暂停,继续菜单)
游戏场景。这是游戏的主要内容

Scene类图:继承图

层是我们写游戏的重点,我们大约99%以上的时间是在层上实现我们游戏内容。
层的管理类似于Photoshop中的图层,它也是一层一层叠在一起

我们一般写的很多类都是层,然后在层上面添加精灵等.然后把层放到场景里
场景包含层,层包含精灵,菜单等对象

理论上来说,层的层数越多(层与层之间有覆盖的问题,后面的层会覆盖先绘制的层),需要绘制的深度越深,越耗CPU
大家可以打开Photoshop,用里面的图层来理解,这样更加直观

精灵

精灵类Sprite(v3.0之前是CCSprite)是游戏中非常重要的概念,它包括了敌人、玩家控制的对象、静态物体、地图和背景等
通常情况它会进行运动,运动方式包括了:移动、旋转、放大、缩小和动画等

菜单

菜单在游戏中时非常重要的概念,它提供操作的集合,在Cococ2d-x中菜单类是Menu

Menu中包含菜单项
MenuItem,它有三个子类:
MenuItemLabel、MenuItemSprite和MenuItemToggle

之前的HelloWord中的关闭按钮其实就是一个菜单项
我们也可以用精灵来实现,但是菜单项封装了一些触摸事件,你不需要关心它事件处理的细节问题

anyShare分享到:
本文地址:http://chenhaoxiang.cn/2017/06/30/0954/
关注我们:请关注一下我们的微信公众号:扫描二维码陈浩翔的公众号,公众号:Uifuture
版权声明:本文为原创文章,版权归 陈 浩翔 所有,欢迎分享本文,转载请保留出处!

发表评论


表情