Director类的使用
在Cocos2d-x中,把统筹游戏大局的类抽象为导演类(Director),Director是整个cocos2d-x引擎的核心,是整个游戏的导航仪。游戏中的一些常用操作就是由Director来控制的,比如OpenGL ES的初始化,场景的转换,游戏暂停继续的控制,世界坐标和GL坐标之间的切换,对节点的控制等,还有一些游戏数据的保存调用,屏幕尺寸的获取等都要由Director类来管理控制的。
因为Director是游戏项目的总导演,会经常调用进行一些控制,所以该Director利用了单件设计模式,也就是整个游戏里只有一个导演类。用getInstance()方法取得Director的实例。
Director类的继承关系如下:
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 |
浮点型 |
获取帧率 |
Director类的使用相关推荐
- Cocos2d之Texture2D类详解之将文件加载成Texture2D对象
一.声明 笔者以cocos2d框架cocos2d-x-3.3rc0版本的源码做分析.本文为笔者原创,允许转载和分享,只要注明文章出处即可. 二.简介 Texture2D类简介 Texture2D类允许 ...
- 添加类iOS cocos2d 2游戏开发实战(第3版)
这两天一直在学习添加类之类的问题,现在正好有机会和大家讨论一下. 第1章 简介 1 1.1 第3版中的新增内容 2 1.2 选择ios版cocos2d的来由 3 1.2.1 收费 3 1.2.2 开源 ...
- 专题:设计模式(精华篇)(Yanlz+单一职责+里氏替换+依赖倒置+接口隔离+迪米特+开放封闭+创建类+结构类+行为类+立钻哥哥)
<专题:设计模式(精华篇)> 版本 作者 参与者 完成日期 备注 DesignPatterns_Classics_V01_1.0 严立钻 2018.07.31 ##<专题:设计模式( ...
- iOS开发 - 面向对象设计的设计模式(一):创建型模式(附 Demo UML类图)
继上一篇的面向对象设计的设计原则,本篇是面向对象设计系列的第二个部分:面向对象设计的设计模式的第一篇文章. 另外,本篇博客的代码和类图都保存在我的GitHub库中:中的Chapter2. 最开始说一下 ...
- 技术图文:02 创建型设计模式(下)
创建型设计模式(下) 知识结构: 图1 知识结构 单例模式 – 确保对象的唯一性 Sunny 软件公司承接了一个服务器负载均衡软件的开发工作,该软件运行在一台负载均衡服务器上,可以将并发访问和数据流量 ...
- [原译]理解并实现生成器模式
介绍 本文讨论生成器设计模式,讨论该模式什么情况下使用,怎么实现.并且.最后会有一个简单的生成器模式的实现. 背景 当我们的程序需要创建一个对象.而这个对象必须由很多不同的对象来构造的时候.为了构造最 ...
- 漫画:什么是 “建造者模式” ?
作者 | 东风玖哥,小灰 来源 | 程序员小灰(ID:chengxuyuanxiaohui) ----- 第二天 ----- ----------- 首先,我们来定义一个Product类: pub ...
- cocos2d-x一些核心概念介绍
cocos2d-x一些核心概念介绍 Cocos2d-x中有很多概念,这些概念很多来源于动画.动漫和电影等行业,例如:导演.场景和层等概念,当然也有些有传统的游戏的概念.Cocos2d-x中核心概念:导 ...
- 彻底理解Spring IOC和DI
目录 前言 1. 分享Iteye的开涛对Ioc的精彩讲解 1.1 IoC是什么 1.2 IoC能做什么 1.3 IoC和DI 2. 分享Bromon的blog上对IoC与DI浅显易懂的讲解 2.1 I ...
最新文章
- 【存储过程】从数据库中读取数据保存到文件中
- 精品教程---Android应用程序框架
- 为啥国人偏爱 Mybatis,而老外喜欢 Hibernate/JPA 呢?
- solr4.8单机部署(solr4.8+tomcat7)
- 如何在Windows 10上使用触摸板手势
- Linux与git库建立连接,Linux 下建立 Git 与 GitHub 的连接
- 研发体系核心代码和文档安全保护方案
- 宝峰c1对讲机写频软件_宝峰对讲机写频软件下载7.01 官方正式版-宝峰BF480,BF520,F25,F26对讲机写频软件西西软件下载...
- 计算机考研用python_20年苏州大学计算机考研经验
- Office ❀ PPT图形中的合并形状梳理
- HTML系列之水平线标签hr
- html5弹幕制作(探索ing)
- android编译成功闪退,编译调试-android-app闪退定位
- 游戏类型英文简称/全称对照表
- Linux 环境部署|Anaconda及Tensorflow
- 同样是食堂,为什么你却如此优秀!
- js html 渐变透明度,JavaScript动画之透明度渐变
- AD10 PCB布线操作技巧
- 单片机 c语言 d,单片机89C51与A/D转换器MAX - 控制/MCU - 电子发烧友网
- CSDN仅粉丝可见功能无限期下线