【转】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
版权声明:本文为博主原创文章,转载请附上博文链接!
【转】cocos2dx3.2学习笔记之Director(导演类)的更多相关文章
- java学习笔记07--日期操作类
java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...
- Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- AJPFX学习笔记JavaAPI之String类
学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...
- 并发编程学习笔记(10)----并发工具类CyclicBarrier、Semaphore和Exchanger类的使用和原理
在jdk中,为并发编程提供了CyclicBarrier(栅栏),CountDownLatch(闭锁),Semaphore(信号量),Exchanger(数据交换)等工具类,我们在前面的学习中已经学习并 ...
- JVM学习笔记-第六章-类文件结构
JVM学习笔记-第六章-类文件结构 6.3 Class类文件的结构 本章中,笔者只是通俗地将任意一个有效的类或接口锁应当满足的格式称为"Class文件格式",实际上它完全不需要以磁 ...
- java学习笔记之日期日历类
java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...
- Cocos2d-x-3.6学习笔记第一天
系统环境: win7,python2.7 开发工具:vs2013 cocos版本:cocos2d-x-3.6 暂无模拟手机的环境 新建我的第一个cocos2d项目 1.打开cmd,cd到cocos2d ...
- cocos2dx3.2 学习笔记(2)--ActionManagerTest
前面看完了 CppTests的基本框架及流程.如今准备看看详细的每一个Test了 从哪里開始看呢. 额,就第一个吧(ActionManagerTest) 首先看看效果吧,执行了下.发现有几种效果.看不 ...
- Python学习笔记(一)类和继承的使用
一年前就打算学Python了,折腾来折腾去也一直没有用熟练,主要是类那一块不熟,昨天用Python写了几个网络编程的示例,感觉一下子迈进了很多.这几天把学习Python的笔记整理一下,内容尽量简洁. ...
随机推荐
- 【转】Spring Boot Profile使用
http://blog.csdn.net/he90227/article/details/52981747 摘要: spring Boot使用@Profile注解可以实现不同环境下配置参数的切换,任何 ...
- 【绝迹篇】C#RSA算法实现
当下最流行的RSA加密算法,只有公钥和私钥同时拥有才能破解加密信息,RSA加密算法的出现有利于数据安全性传输 1.C#中自带RSACryptoServiceProvider类可以让你很好的生成XML格 ...
- CssSelector之selenium元素定位
CssSelector是我最喜欢的元素定位方法,Selenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素,原因是CSS locator比XPath loc ...
- 【题解】洛谷P1541 [NOIP2010TG] 乌龟棋(类似背包的DP)
题目来源:洛谷P1541 思路 类似背包的题 总之就是四种卡牌取的先后顺序不同导致的最终ans不同 所以我们用一个四维数组每一维分别表示第几种取了几张的最大分数 然后就是简单DP解决 代码 #incl ...
- MyEclipse 根据左括号或右括号查找另外一半
在MyEclipse 中如果代码嵌套太多,查找括号是一件非常头疼的事情,今天突然发现了一个快捷键(如下)可以直接定位到另外一半的位置 Ctrl+Shift+P,光标会自动跳到相应的花括号位置, 并且可 ...
- servelet跳转页面的路径中一直包含sevelet的解决办法
解决办法1: 在web.xml配置文件中修改: <servlet-mapping> <servlet-name>LoginServelet</servlet-name&g ...
- Unity 游戏框架搭建 (十七) 静态扩展GameObject实现链式编程
本篇本来是作为原来 优雅的QChain的第一篇的内容,但是QChain流产了,所以收录到了游戏框架搭建系列.本篇介绍如何实现GameObject的链式编程. 链式编程的实现技术之一是C#的静态扩展.静 ...
- ConfigurationManager.AppSettings方法
一 配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的根节点是conf ...
- 搭建Extjs框架(二)
搭建Extjs 框架 二.编写入口文件 app.js,配置extjs 组件\视图文件路径 并将app.js引入index.html 在app.js中指定一些文件的路径,Extjs页面的起始 ...
- 如何优雅的使用C语言绘制一只小猪佩奇
今天我们来用C语言画一只小猪佩奇---社会.社会....在画小猪佩奇之前,我们先使用带符号的距离长 (signed distance field,SDF) 来画一个圆形. 使用这个方法表示形状,但是这 ...