在cocos2d-x引擎中,CCDirector类是整个游戏的组织和控制核心,游戏的运行规则,游戏内的CCScene(场景)、布景(CCLayer)、角色(CCSprite)等的运动,均由CCDirector管理,其在游戏中起着指定游戏规则让游戏内的场景、布景和任务有序的运行。在整个游戏里面,一般只有一个导演,游戏开始和结束时,都需要调用CCDirector的方法完成游戏初始化或销毁工作.在Cocos2d-x中是很重要的一个类,用于统筹管理,主要完成以下工作:

  • 初始化游戏和销毁游戏;
  • 管理调度场景;
  • 调整设置OpenGL信息;
  • 获取、设置游戏的相关细节;

使用方法:Director::getInstance()->MethodName

类CCDirector继承关系图

属性相关

//获得当前运行的场景,cocos2dx同时只能运行一个场景
Scene* getRunningScene();  //获取fps值
double getAnimationInterval();  //设置fps值
void setAnimationInterval(double dValue);  //fps是否是显示状态
bool isDisplayStats();  //设置是否显示fps
void setDisplayStats(bool bDisplayStats);  //获取每帧秒数
float getSecondsPerFrame();  //获取openGLView
GLView* getOpenGLView();  //设置openGLView
void setOpenGLView(GLView *pobOpenGLView);  //判断是否暂停
bool isPaused();  //获取调用到现在的所有帧数
unsigned int getTotalFrames();  //判断被替换的场景是否接收到cleanup事件
//replace方式会,而push方式则不会
bool isSendCleanupToScene(void);

窗口相关

//返回以点为单位openGL视图的大小
const Size& getWinSize() const;  //返回以像素为单位openGL视图的大小
Size getWinSizeInPixels() const;//返回以点为单位的 OpenGL 视图的可见大小.
Size getVisibleSize() const;//返回以点为单位的 OpenGL 视图的初始化时的可见大小
Vec2 getVisibleOrigin() const; //UIKit的坐标转换到一个OpenGL坐标 使用当前布局(横向或纵向)有效的(多)触摸坐标
Vec2 convertToGL(const Vec2& point);//一个OpenGL坐标转换到UIKit的坐标 点组成的窗口调用有效的节点上面的点
Vec2 convertToUI(const Vec2& point);

场景管理相关

//根据给定的场景进入 Director的主循环 只能调用他运行你的第一个场景
void runWithScene(Scene *scene); //暂停执行正在运行的场景中,pushing一个在堆栈上推暂停的场景。 新的场景将被执行.
void pushScene(Scene *scene);  //从队列中弹出一个场景。 这个场景将替换正在运行的场景.
void popScene(); //从队列中弹出所有的场景,直到只有根场景在队列中 这个场景将替换正在运行的场景.
void popToRootScene();//弹出从队列中的所有场景,直到它到达 level.
void popToSceneStackLevel(int level);//用一个新的替换正在运行的场景。终止正在运行的场景。 仅在有一个正在运行的场景的时候调用他.
void replaceScene(Scene *scene); //结束执行,释放正在运行的场景。
void end();//暂停正在运行的场景。
void pause(void);  //恢复暂停的场景 预定的定时器将被再次激活。 “推迟执行”的时间将是0(如果游戏没有暂停)
void resume();

内存和OpenGL

//移除所有cocos2dx缓冲数据
void purgeCachedData(void);  //设置默认值
void setDefaultValues(void);  //设置OpenGL默认值
void setGLDefaultValues(void);  //开关OpenGL alpha混合通道
void setAlphaBlending(bool bOn);  //设置景深测试
void setDepthTest(bool bOn); 

[cocos2dx]抽象元素——CCDirector导演类相关推荐

  1. cocos2d-x 学习笔记(2)cocos2d-x重要概念,项目结构及 CCDirector 导演控件

    cocos2d-x 学习笔记(2)cocos2d-x重要概念及项目结构 在cocos2d引擎中,有几个概念,分别是导演,场景,布景和人物角色. 导演(CCDirector)在cocos2d-x引擎中, ...

  2. 【Cocos2dx】利用导演类、场景类完成重新开始游戏、暂停游戏、关闭游戏功能

    重新开始游戏.暂停游戏.关闭游戏是绝对是游戏的基础,虽然代码不多,不过这要利用到Cocos2dx导演类.场景类完成,事先如果不对其进行了解,绝对是很难做出来. 下面用一个小例子说明如何利用导演类.场景 ...

  3. Cocos2d-x 基础元素

    看过本章,然后实践之后,应该会掌握以下的认识: 1.Cocos2d-x引擎的基本运转过程 2.Cocos2d-x引擎的一些初始设置 3.对导演及图层及现实对象的认识 4.如何定义自己的显示对象 1.引 ...

  4. CSS伪类(Pseudo-classes)、伪元素、伪类选择器

    CSS伪类(Pseudo-classes)和伪元素(详细) 那什么是伪类? 伪类是添加到选择器上的关键字,指定元素的特殊状态,伪类可以根据内容的状态来应用不同的样式: 伪类选择元素基于的是当前元素处于 ...

  5. C++编程练习:抽象类——编写一个程序,计算三角形、正方形的面积,抽象出一个基类base。

    例.编写一个程序,要求计算三角形.正方形的面积,抽象出一个基类base,在其中说明一个虚函数display( )用来展示其参数且求出面积. 代码如下: 头文件headfile.h: #pragma o ...

  6. HTML与CSS基础之子元素的伪类(七)

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>子元素 ...

  7. java的string访问某个元素_CSS伪类与伪元素总是傻傻分不清,这份总结够面试用了

    熟悉前端的人都会听过 css 的伪类与伪元素,然而大多数的人都会将这两者混淆.本文从解析伪类与伪元素的含义出发,区分这两者的区别,并且列出大部分伪类与伪元素的具体用法,即使你有用过伪类与伪元素,但里面 ...

  8. Java 设计模式 Day1 之面向抽象原则:抽象(abstract)类的设计与应用分析

    文章目录 前言 一.抽象(abstract)类的设计要点 二.抽象类的应用实例 2.1.创建一个抽象类 2.2.创建抽象类非抽象子类 2.3.通过上转型对象调用子类方法 总结 前言 面向抽象原则是面向 ...

  9. css横向排列_CSS中伪元素和伪类的经典使用技巧

    随着前端技术的发展,CSS样式的制作在网页中占据着十分重要的地位.前台页面的样式布局.以及展现给用户的体验效果都离不开CSS;虽然在实际的开发中会大量的使用一些主流的UI样式框架,但这些样式框架每一个 ...

最新文章

  1. C语言中的选择法排序怎么,请问高手们 C语言中选择法排序和冒泡法排序的思想,两种方法有何不同,搞不懂,请举例详细说明一下.谢谢。...
  2. node 生成随机头像_唯一ID生成算法剖析
  3. Javascript中正则表达式的全局匹配模式
  4. 求数列1/3到1/n之和
  5. oracle instr函数详解
  6. eclipse 设置默认编码为Utf-8
  7. Zephyr移植到NXP MIMXRT1060_EVK-RT1061 CVL5A过程
  8. php引用符号详解——————给变量起小名
  9. 微信小程序订单展示(3)
  10. vue使用prop通信出错:Avoid mutating a prop directly since the value will be overwritten whenever the parent
  11. JS阻止form表单提交失败
  12. 最简单的迁徙图实现demo
  13. python3视频教学百度云盘_Python3自学基础到入门视频教程[百度云盘]
  14. arcgis图斑尖角检查_arcgis 定位图斑,并且高亮显示
  15. R语言修改下载安装包install.package的默认存储位置
  16. 腾讯云年终选购云服务器攻略!
  17. CSDN博客的第一天
  18. eclipse安装并配置环境
  19. 虚拟机静态IP的配置
  20. 点击 桌面 计算机 空白 不响应,win7桌面空白处右键电脑迟钝怎么办 为什么电脑在桌面点击鼠标右键反应很慢...

热门文章

  1. 2 errors and 0 warnings potentially fixable with the `--fix` option,vue-cli3中eslint详解
  2. Linux系统下录音方法
  3. 第24章 JVM监控及诊断工具-GUI篇
  4. C++ 结构体转json
  5. Android 定时器+倒计时 仿淘宝秒杀
  6. 互联网个性化推荐与精准营销实战视频教程
  7. jquery.uploadify 限制上传数量删除图片后无法再次上传
  8. 「智头条」智能家居企业扎堆IPO:欧瑞博重启IPO,凯迪仕、立林启动IPO;魅族新专利可无感匹配智能家居
  9. matlab 复数单位化,MATLAB数据矩阵单位化,归一化,标准化
  10. ZTE ME3630 4G模块在Hi3559AV100平台上拨号指令流程