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

最新文章

  1. Python爬虫学习(11):Beautiful Soup的使用
  2. 云计算之KVM简介(一)
  3. Android handle 多线程练习
  4. window.requestAnimationFrame
  5. 运用CodeSmith Studio实现C#项目构架
  6. php 序列化(serialize)格式详解
  7. XAML概览 1(译自JeremyBytes.com)
  8. Java内部类总结 分类: 原理 2015-06-28 09:51 9人阅读 评论(0) 收藏
  9. Ghost版Win8.1系统企业版下载
  10. URL编码 URLEncoder 示例
  11. Eclipse ADT 插件安装慢的解决的方法
  12. 初识google多语言通信框架gRPC系列(四)C++中使用gRPC
  13. SharePoint 网站登录不上,3次输入用户名/密码白页、
  14. JS模式---发布、订阅模式
  15. HTML <td> 标签的 colspan 属性
  16. Oracle loop循环无法插入数据
  17. javascript中数组的深拷贝的方法
  18. git报错You are not allowed to force push code to a protected branch on this project
  19. 使用 amcharts 和 highcharts 绘制多曲线时间趋势图的通用方法
  20. MYSQL基本操作总结

热门文章

  1. 智能门锁超低功耗:SI522(13.56芯片)替代MFRC522\FM17522
  2. 相机姿态估计(Pose Estimation)
  3. 简单说一说对JavaScript原型链的理解
  4. HDU 1027 Ignatius and the Princess II(求第m个全排列)
  5. (二、下) springBoot 、maven 、mysql、 mybatis、 通用Mapper、lombok 简单搭建例子 《附项目源码》
  6. Oracle分区表删除分区引发错误ORA-01502: 索引或这类索引的分区处于不可用状态
  7. CF1066A Vova and Train(模拟)
  8. python函数中闭包的概念说明
  9. MySQL的JOIN用法
  10. 第7章 YARN HA配置