转载:https://blog.csdn.net/u013435551/article/details/38579747

在Cocos2d-x中,把统筹游戏大局的类抽象为导演类(Director),Director是整个cocos2d-x引擎的核心,是整个游戏的导航仪。游戏中的一些常用操作就是由Director来控制的,比如OpenGL ES的初始化,场景的转换,游戏暂停继续的控制,世界坐标和GL坐标之间的切换,对节点的控制等,还有一些游戏数据的保存调用,屏幕尺寸的获取等都要由Director类来管理控制的。

因为Director是游戏项目的总导演,会经常调用进行一些控制,所以该Director利用了单件设计模式,也就是整个游戏里只有一个导演类。用getInstance() 方法取得Director的实例。

Tips:在cocos2d-x2.x的版本中使用sharedDirector()方法来获取导演类对象,而在3.x的版本中使用getInstance()来获取,不过sharedDirector()也可以使用。

Director类的继承关系如下:

DisplayLinkDirector继承CCDirector,是一个可以自动刷新的导演类。它支持60/1、1/30和1/15三种动画间隔(帧间隔)。

Director类的主要公共函数如下:

函数名

返回类型

描述

getRunningScene

场景类

获取当前正在运行的场景

getAnimationInterval

浮点型

获取每帧的时间

setAnimationInterval

浮点型

设置每帧的时间

isDisplayStats

布尔型

返回是否在屏幕左下角显示每帧的时间

setDisplayStats

设置是否在屏幕左下角显示每帧的时间

getSecondsPerFrame

浮点型

获取每帧的时间(单位为秒)

getOpenGLView

GL视图

获取绘制所有对象的OpenGL视图

setOpenGLView

设置绘制所有对象的OpenGL视图

isPaused

布尔型

导演类对象是否暂停

getTotalFrames

整型

获取从导演类开始运行的帧数

getProjection

投影类

获取OpenGL投影

setProjection

设置OpenGL投影

setViewport

设置OpenGL接口

isSendCleanupToScene

布尔型

切换的场景是否接收清除信息

getNotificationNode

节点类

获取一个在主场景遍历后遍历的节点对象

setNotificationNode

设置一个在主场景遍历后遍历的节点对象

getWinSize

尺寸

获取屏幕大小(单位为点)

getWinSizeInPixels

尺寸

获取像素级的屏幕大小(单位为像素)

getVisibleSize

尺寸

获取可见屏幕大小

getVisibleOrigin

矢量

获取可见屏幕的方向

convertToGL

矢量

转化为OpenGL坐标系

convertToUI

矢量

转化为UI坐标系

runWithScene

运行当前场景

pushScene

挂起当前场景,压入栈中

popScene

从栈中弹出场景

popToRootScene

从栈中弹出所有场景直到根场景

popToSceneStackLevel

从栈中弹出所有场景直到某个等级

(等级为0为导演,等级为1为根场景)

replaceScene

替换当前场景

end

结束游戏

pause

暂停游戏

resume

恢复游戏

stopAnimation

停止动画

startAnimation

开始动画

drawScene

绘制场景

purgeCachedData

移除所有缓存数据

setDefaultValues

基于配置信息设置默认值

setGLDefaultValues

设置OpenGL默认值

setAlphaBlending

设置OpenGL是否使用alpha通道

setDepthTest

设置是否测试OpenGL深度

setContentScaleFactor

设置表面像素大小(不同于屏幕大小)

getContentScaleFactor

浮点型

获取表面像素大小

getScheduler

调度类

获取时间调度对象

setScheduler

设置时间调度对象

getActionManager

动作管理类

获取动作管理对象

setActionManager

设置动作管理对象

getEventDispatcher

事件调度类

获取事件调度对象

setEventDispatcher

设置事件调度对象

getRenderer

渲染器

返回渲染器

getDeltaTime

浮点型

返回控制台

getFrameRate

浮点型

获取帧率
---------------------
作者:倾城_之泪
来源:CSDN
原文:https://blog.csdn.net/u013435551/article/details/38579747
版权声明:本文为博主原创文章,转载请附上博文链接!

【转】cocos2dx3.2学习笔记之Director(导演类)的更多相关文章

  1. java学习笔记07--日期操作类

    java学习笔记07--日期操作类   一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...

  2. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. AJPFX学习笔记JavaAPI之String类

    学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...

  4. 并发编程学习笔记(10)----并发工具类CyclicBarrier、Semaphore和Exchanger类的使用和原理

    在jdk中,为并发编程提供了CyclicBarrier(栅栏),CountDownLatch(闭锁),Semaphore(信号量),Exchanger(数据交换)等工具类,我们在前面的学习中已经学习并 ...

  5. JVM学习笔记-第六章-类文件结构

    JVM学习笔记-第六章-类文件结构 6.3 Class类文件的结构 本章中,笔者只是通俗地将任意一个有效的类或接口锁应当满足的格式称为"Class文件格式",实际上它完全不需要以磁 ...

  6. java学习笔记之日期日历类

    java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...

  7. Cocos2d-x-3.6学习笔记第一天

    系统环境: win7,python2.7 开发工具:vs2013 cocos版本:cocos2d-x-3.6 暂无模拟手机的环境 新建我的第一个cocos2d项目 1.打开cmd,cd到cocos2d ...

  8. cocos2dx3.2 学习笔记(2)--ActionManagerTest

    前面看完了 CppTests的基本框架及流程.如今准备看看详细的每一个Test了 从哪里開始看呢. 额,就第一个吧(ActionManagerTest) 首先看看效果吧,执行了下.发现有几种效果.看不 ...

  9. Python学习笔记(一)类和继承的使用

    一年前就打算学Python了,折腾来折腾去也一直没有用熟练,主要是类那一块不熟,昨天用Python写了几个网络编程的示例,感觉一下子迈进了很多.这几天把学习Python的笔记整理一下,内容尽量简洁. ...

随机推荐

  1. 二. Python WebDriver环境搭建

    1. 安装Selenium 在命令行中输入: 显示安装成功: 2. 测试例子 打开百度页面并在输入框输入搜索内容(默认为firework) # 1. Selenium默认为Firefox.验证 fro ...

  2. AngularJS简介-起步阶段

    AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法,以弥补在构建动态WEB应用时静态文本的不足,从而在web应用程序中使用HT ...

  3. Hadoop 学习之——HDFS

    HDFS是HADOOP中的核心技术之一——分布式文件存储系统.Hadoop的作者Doug Cutting 和Mike 是根据Google发布关于GFS 的研究报告所设计出的分布式文件存储系统. 一.H ...

  4. 在js中获取request域中的内容

    1.可以使用小脚本<%%>实现: var pro_id=<%request.getPro_id()%>; 2.使用隐藏域实现: <input type="hid ...

  5. http1.X与2.0

    HTTP HTTP 1.X HTTP是建立在TCP协议上的,HTTP协议的瓶颈及优化都是基于TCP协议本身的特性. TCP建立连接时有三次握手 会有1.5RTT的延迟,为了避免每次请求都经历握手待来的 ...

  6. 用模板引擎Art-Template渲染空格或换行符引发的一场“命案”

    一.绪论 说实话,真的不知道如何给这篇博客命名,因为我觉得应该有一些小伙伴遇到跟我同样的问题正在抓耳挠腮中. 二.导火索 最近在做一个移动H5翻页的功能,类似于MAKA模板那种.假设大致框架如下 ​ ...

  7. 安装MySQL8.0.13

    引用于:CrazyDemo,博客地址:http://www.cnblogs.com/CrazyDemo 下载地址: https://www.mysql.com/downloads/ 现在最下边的社区版 ...

  8. Vue和element-ui结合的简单使用

    前提 vue在前端技术中使用越来越多,也成为了主流框架,花点时间稍微了解下vue-cli.vue-router结合element-ui的使用.本人使用的是windows系统,后续介绍以windows7 ...

  9. 『ACM C++』 PTA 天梯赛练习集L1 | 040-41

    近期安排 校赛3.23天梯赛3.30华工校赛 4.21省赛 5.12 ------------------------------------------------L1-040----------- ...

  10. linux 网络服务之一