【转】cocos2dx3.2学习笔记之Director(导演类)

转载: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
版权声明:本文为博主原创文章,转载请附上博文链接!

posted on 2018-12-13 14:23  eggtomato  阅读(298)  评论(0)    收藏  举报

导航