【转】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的笔记整理一下,内容尽量简洁. ...
随机推荐
- VC++ MFC工程中中如何将一个工程的资源(如对话框)复制到另外一个工程
问题的提出:在工程1中用到的资源,在工程2中已有现成的.即工程1中要用到的对话框和工程2的完全相同,而工程2中对该对话框的布局已设计好.控件变量都绑定好了.但由于该对话框的控件特别多,如果在工程1中再 ...
- VC MFC工具栏(CToolBar)控件(转)
工具栏 工具栏控件在控件面板里没有对应的选项(图标),但有一个工具栏控件类CToolBar,所以我们如果要创建一个工具栏控件并显示在窗口里的话,只能用代码来完成,事实上任何一种控件,都可以用代码创建, ...
- 如何编写及运行JS
JS也是一种脚本语言,他可以有两种方式在HTML页面进行引入,一种是外联,一种是内部. 外联JS的写法为: <script src="相对路径"></ ...
- HSL与RGB颜色转换
/** * HSL颜色值转换为RGB. * 换算公式改编自 http://en.wikipedia.org/wiki/HSL_color_space. * h, s, 和 l 设定在 [0, 1] 之 ...
- My collage goals
PART ONE: THE GOALS OF GRADE ONE 1, Try my best to improve my GPA , keep it around 4.0 2, Learn mor ...
- chromium之observer_list
典型用法如下 /////////////////////////////////////////////////////////////////////////////// // // OVERVIE ...
- Java5~11新特性
Java5~11版本新特性 Java5 Java6 Java7 Java8 Java9 Java10 Java11 Java5 Java5开发代号为Tiger(老虎),于2004-09-30发行 特性 ...
- rem和em的用法
1.rem转化为向素值的方法 rem单位转化为像素大小取决于根元素的字体大小,即HTML元素的字体大小,根元素字体大小乘以rem. 例:根元素的字体大小 16px,10rem 将等同于 160px,即 ...
- 端午节佳节从CSDN博客搬家来这,请多多指教
端午节佳节从CSDN博客搬家来博客园,请多多指教
- 大数据学习--day02(标识符、变量、数据类型、类型转换、进制转换、原码反码补码)
标识符.变量.数据类型.类型转换.进制转换.原码反码补码 标识符: java50个关键字不能做标识符,以数字开头不能做标识符(这个老是忘记写一个类名的时候) 变量: 变量分为成员变量和局部变量,注意作 ...