重开发人员的劳动成果。转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27706967

游戏中的基本元素

在曾经文章中。我们具体介绍了游戏开发的概念以及 Cocos2d-x 与其它游戏引擎的不同之处,甚至已经学会了它与众不同的 内存管理机制。
想必大家已经非常期待開始探索 Cocos2d-x 游戏开发的世界了。


在后面的文章中,我们将结合详细的实例,从 Cocos2d-x 游戏开发的基本元素讲起。 
从这章開始,我会在学习引擎的过程中和大家一步步创建《找小三》这个游戏;

Director  :郝萌主,一统江湖

从英语字面上理解,这是一个"导演"类,Director 是控制游戏流程的主要组件。

回想引擎框架自己主动生成的HelloWorld 项目,程序生命周期中游戏载入期的最后一个方法 AppDelegate::applicationDidFinishLaunching,其代码例如以下所看到的:
bool AppDelegate::applicationDidFinishLaunching() {
// initialize director//初始化导演类
auto director = Director::getInstance();
auto glview = director->getOpenGLView();
if(!glview) {
glview = GLView::create(FontChina::G2U("郝萌主之找小三"));
director->setOpenGLView(glview);
} // turn on display FPS//启用 FPS 显示
director->setDisplayStats(false); // set FPS. the default value is 1.0/60 if you don't call this
//设置 FPS 上限。假设不加设置,则默认 FPS 上限为 60
director->setAnimationInterval(1.0 / 60); // create a scene. it's an autorelease object
//创建一个场景,场景是一个 autorelease 对象
auto scene = HelloWorld::createScene(); // run
//执行场景
director->runWithScene(scene); return true;
}

能够看到。事实上Director 的工作确实跟导演的工作很类似。Director 类主要负责下面工作。 
1、游戏呈现方面的设定,包含设定游戏呈现的窗体、FPS 显示、默认帧率上限、纹理颜色位宽等。

2、切换当前的游戏场景,暂停或恢复游戏场景的执行。

总而言之,游戏在 Director 的管理下完毕了呈现设定与流程控制。


Director 扮演着武林萌主的角色,因而非常自然地採用了单例的设计模式,也就是说整个武林中就这一位。


在整个武林中、、、、哦,不,是在程序的不论什么地方,都能够通过以下的简单的代码訪问到: 
auto director = Director::getInstance();

在 Director 中。还定义了下面管理场景的方法。

runWithScene(Scene* scene):启动游戏,并执行 scene 场景。

这种方法在主程序启动时第一次启动主场景时调用。


replaceScene(Scene* scene):直接使用传入的 scene 替换当前场景来切换画面,当前场景将被释放。这是切换场景时最经常使用的方法。


pushScene(Scene* scene): 将当前执行中的场景暂停并压入到代执行场景栈中。 再将传入的 scene 设置为当前执行场景。


popScene:释放当前场景。再从代执行场景栈中弹出栈顶的场景。并将其设置为当前执行场景。假设栈为空,则直接结束应用。与 pushScene 成对使用。能够达到形如由主界面进入设置界面,然后回到主界面的效果。

pause:暂停当前执行场景中的全部计时器和动作,场景仍然会显示在屏幕上。

resume:恢复当前执行场景中被暂停的计时器和动作。它与 pause 配合使用。

end:结束场景,同一时候退出应用。

值得注意的一点是,以上三种切换场景的方法(replaceScene、pushScene、popScene)均是先将待切换的场景全然载入完 毕后,才将当前执行的场景释放掉。
所以,在新场景恰好全然载入完成的瞬间。系统中同一时候存在着两个场景,这将是对
内存的一个考验,若不注意的话,切换场景可能会造成内存不足。

PS:Director 的很多其它函数使用请查阅:cocos\2d\CCDirector.h


郝萌主友情提示:
游戏中找到了小三,可是现实中千万不要去找、、、

13、Cocos2dx 3.0游戏开发找小三之3.0中的Director :郝萌主,一统江湖的更多相关文章

  1. 12、Cocos2dx 3.0游戏开发找小三之3.0中的生命周期分析

    重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27706303 生命周期分析 在前面文章中我们执行了第 ...

  2. 7、Cocos2dx 3.0游戏开发找小三之3.0版本号的代码风格

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27691337 Cocos2d-x代码风格 前面我们已 ...

  3. 6、Cocos2dx 3.0游戏开发找小三之游戏的基本概念

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713 郝萌主友情提示: 人是习惯的产物,当你 ...

  4. 1、Cocos2dx 3.0游戏开发找小三之前言篇

    尊重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27094663 前言 Cocos2d-x 是一个通用 ...

  5. 3、Cocos2dx 3.0游戏开发找小三之搭建开发环境

    尊重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27107295 搭建开发环境 使用 Cocos2d- ...

  6. 23、Cocos2dx 3.0游戏开发找小三之粒子系统:你那里下雪了吗?

    重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30485919 春雨惊春清谷天,夏满芒夏暑相连, 秋处 ...

  7. 19、Cocos2dx 3.0游戏开发找小三之Action:流动的水没有形状,漂流的风找不到踪迹、、、

    重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30478985 流动的水没有形状.漂流的风找不到踪迹. ...

  8. 15、Cocos2dx 3.0游戏开发找小三之Sprite:每一个精灵都是上辈子折翼的天使

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30475395 Sprite  Sprite 能够说是 ...

  9. 18、Cocos2dx 3.0游戏开发找小三之cocos2d-x,请问你是怎么调度的咩

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30478251 Cocos2d 的一大特色就是提供了事 ...

随机推荐

  1. 读书笔记:php_tizag_tutorial

    昨天在实验室花了一天时间看了英文版的php_tizag_tutorial,因为上学期用php和bootstrap写过一个租房网站,对php还是比较熟悉.现在总结一下php_tizag_tutorial ...

  2. 数据备份--dump(此作者有许多有用的博客文章)

    数据中 心操作大量的数据.当遭到破坏时,这就是一场灾难.这时候需要备份来恢复,及时你又大量的备份数据都没用,备份也肯定不是在浪费时间.你也许很幸运从 来没有经历过数据丢失.但是, 由于这种事情极少发生 ...

  3. windows/linuxjdk安装,jdk1.6升级到1.7

    一.JDK: JAVA_HOME: C:\Program Files\Java\jdk1.7.0_79 PATH: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin CLASS ...

  4. yw info

    浙江省公开招聘聘任制公务员公告 浙江省公开招聘聘任制公务员公告-浙江组织工作网-浙江在线 浙江省公开招聘聘任制公务员公告

  5. Ural1109_Conference(二分图最大匹配/匈牙利算法/网络最大流)

    解题报告 二分图第一题. 题目描写叙述: 为了參加即将召开的会议,A国派出M位代表,B国派出N位代表,(N,M<=1000) 会议召开前,选出K队代表,每对代表必须一个是A国的,一个是B国的; ...

  6. POJ 1258-Agri-Net (Kruskal)

    题目链接:Agri-Net 最小生成树水题,数组开的和题目描写叙述一样,可是就是RE,有填了个0,还好这个题用 库鲁斯卡尔 敲了一遍,发现了点问题,曾经写的库鲁卡尔模板有点问题,多写了步没用的操作,已 ...

  7. EasyUI - DataGrid 组建 - [ 组件加载和分页 ]

    效果: 原理:通过POST传递到数据后台字段. 此时上传的参数,page:当前页数,rows:每页显示的页数. 有此两项参数,计算取出数据条数. 通过后台接受参数,进行处理并返回抽取的数据. html ...

  8. Linux主机上发布java web应用

    1.链接远程主机命令 ssh user@hostname 如: shh root@192.168.1.1 2.查看主机操作系统版本 uname -a 3.linux系统安装mysql a)检查是否安装 ...

  9. SIMPASS技术解析

    一.什么叫SIMPASS SIMpass技术融合了DI卡技术和SIM卡技术,或者称为双界面SIM卡.SIMpass是一种多功能的SIM卡,支持接触与非接触两个工作接口,接触界面实现SIM功能,非接触界 ...

  10. SRM 582 Div II Level Three: ColorTheCells, Brute Force 算法

    题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12581 Burte Force 算法,求解了所有了情况,注意  ...