转载: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. NSArray中地内存管理 理解

    问题: 通过alloc和init的方法创建了NSArray和NSDictionary,然后通过addobject和setobject:forkey:将object添加进去.通过addobject会自动 ...

  2. Asp.net MVC 自定义错误页面以及return HttpNotFound遇到的问题

    今天在处理mvc 项目404和500页面时,发现我以前比较喜欢用的Return HttpNotFound()没有跳转到我在webconfig中配置的自定义404页面,而且也不会去执行Global中的A ...

  3. NopCommerce 3.4中移动端访问抛弃响应式布局

    在Nop3.4中,他抛弃了原来的xxx.Mobile.cshtml的这种写法,而是采用了响应式布局,并且把规则也给改了,你在后台配置不启用响应式布局,在前台你仍然不能写xxx.Mobile.cshtm ...

  4. mysql 修改数据类型

    只修改列的数据类型的方法: 通常可以写成 alter table 表名 modify column 列名 新的列的类型 例如:student表中列sname的类型是char(20),现在要修改为var ...

  5. linux下安装使用tar

    安装tar,untar: yum install -y tar yum install -y untar 使用说明: 压缩 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip ...

  6. 一文读懂类加载机制--ClassLoader

    一.什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管是CS还是BS应用,都是由若干个.class文件组织而成的一个完整的Java应用程序,当程序在运行时,即会调用该程 ...

  7. MongoTemplate复合条件查询

    分. 排序.按时间查询 Query query = new Query();        //必须条件        Criteria c = Criteria.where("VINID& ...

  8. WebAPI 实现前后端分离的示例

    转自:http://www.aspku.com/kaifa/net/298780.html 随着Web技术的发展,现在各种框架,前端的,后端的,数不胜数.全栈工程师的压力越来越大. 现在的前端的框架, ...

  9. mysql 一看就会 基本语法

    创建表 create table <表名>( <字段名>  类型(长度) not null primary key auto_increment, **主键 name char ...

  10. 新手Linux命令学习

    一.dd命令:1.可以复制文件,2.可以制作ios镜像,简单理解就是备份 常用的参数  if 设置输入文件的名称 of  设置输出文件的名称 bs  设置每个“”块“”大小 count  要复制“块” ...