博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cocos2d-x学习笔记(两)Cocos2d-x总体框架
阅读量:5892 次
发布时间:2019-06-19

本文共 1972 字,大约阅读时间需要 6 分钟。

原创文章。转载请注明出处:

前言

上一节我们简单分析了HelloWorldproject,这一讲我们将进一步来看看Cocos2d-x的总体框架。

在了解Cocos2d-x的总体框架之前。我们最好还是想想拍摄一部电影须要些什么?

导演、舞台(场景)、布景、演员,有了这些基本条件后。在这些元素都有了之后,演员就能够依据剧本,表现不同的动作行为。

同理,做一个游戏就像是拍摄一部电影,你相同须要这些元素。而Cocos2d-x恰好又进行了对应的提供。

导演 - CCDirector

在cocos2d-x引擎中。CCDirector是整个游戏的控制核心,利用它使游戏的各个场景有序进行,并通过栈的方式,对场景进行管理。CCDirector是一个单例,可通过CCDirector::sharedCCDirector()方法获得。所以在整个游戏里面,一般仅仅有一个导演,须要通过调用它对游戏镜像初始化和销毁工作。

void runWithScene(CCScene * scene);// 将场景入栈,并激活(仅仅适用于整个游戏的第一个Scene,HelloWorldproject的AppDelegate中实用到)void replaceScene(CCScene * scene);// 将新场景入栈并激活,旧场景出栈并施放void pushScene(CCScene * scene);// 将新场景入栈并激活void popScene();// 场景出栈void pause();// 暂停场景渲染和活动void resume();// 恢复场景渲染和活动CCSize getVisibleSize(); // 获取可显示区域大小(HelloWorldproject的AppDelegate中实用到)// ...

场景 - CCScene

在游戏里,场景就是关卡,不同的关卡通过不同的场景来实现及切换。

Cocos2d-x中,场景内存放着须要渲染的布景,他们作为一个总体。一起渲染。一起销毁。

继承自CCNode,并用于联系全部CCNode节点。

创建一个CCScene。主要须要这种方法:

static CCScene *  scene(); //生CCScene

布景 - CCLayer

继承自CCNode。能够理解为层。手动将游戏中的场景分层。每一个游戏场景里能够有非常多层,每一层都有单一的职责。比方有的层专门负责背景。有的层专门负责显示道具。有的层专门显示UI等。

通过层和层的关系,我们能够更加方便的控制和显示各种界面。为了能够看到每一层上面的东西,所以层一般都是透明的,当然,有能够使用CCColorLayer来创建有背景色得层。

CCLayer可用于容纳其它CCNode节点,实现单点触摸。多点触摸和重力感应回调等。

virtual void  onEnter ()// 进入时的回调函数virtual void  onExit ()// 离开时的回调函数virtual void  onEnterTransitionDidFinish ()// 进入后的回调函数virtual bool  ccTouchBegan (CCTouch *pTouch, CCEvent *pEvent)// 单点触屏事件virtual void  ccTouchesBegan (CCSet *pTouches, CCEvent *pEvent)// 多点触屏事件virtual void  ccTouchesMoved (CCSet *pTouches, CCEvent *pEvent)// 在触摸屏幕移动事件virtual void  ccTouchesEnded (CCSet *pTouches, CCEvent *pEvent)// 触摸屏幕移动时间结束virtual void  ccTouchesCancelled (CCSet *pTouches, CCEvent *pEvent)// 触屏事件取消virtual void didAccelerate(CCAcceleration* pAccelerationValue);// 重力感应事件// ...

演员 - CCSprite

继承自CCNode,是一幅2D图像,CCSprite能够通过图像或者图像中的一个矩形子区域创建。

CCSprite是整个游戏开发过程中处理的重要对象,大到主角、BOSS。小到天边飘过的一朵云,大多都是通过CCSprite来实现的。

动作 - CCAction

仅仅要是CCNode的子类就能够通过CCAction实现动作。

CCAction类别繁多,将在接下来该研究指出了具体的描述。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

你可能感兴趣的文章
Facebook员工三年的经验
查看>>
Struts 2中的OGNL
查看>>
PHP页面跳转几种实现技巧
查看>>
vue-cli-element-ui-scss-axios
查看>>
跨数据库查询:MySQL inner join PostgreSQL inner join ...
查看>>
IOS 距离现在的几分,几个小时,几分钟,几天,几周几月,几年
查看>>
我的友情链接
查看>>
Java实现的几个常用排序算法详细解读
查看>>
CAS获取用户更多信息
查看>>
mysql Communications link failure
查看>>
Redis 发布订阅
查看>>
myeclipse使用maven教程
查看>>
java每日小算法(17)
查看>>
分享Docker监控体系(Kubernetes Mesos监控)
查看>>
使用Netsil监控Kubernetes上的微服务
查看>>
连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
查看>>
mysql配置文件my.cnf详解
查看>>
Activiti基础教程--07流程执行历史记录(历史任务、历史流程实例、历史活动)...
查看>>
Spark2.0-RDD分区原理分析
查看>>
Centos网卡相关
查看>>