【转】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的笔记整理一下,内容尽量简洁. ...
随机推荐
- 由.def文件生成lib文件[转]
最近在学习curl库时,碰到一个问题,从官网上下载了一个lib版的,却发现只有.dll,没有lib文件,感觉很奇怪,google了之后才知道,原来库作者的用意是让用户自己生成lib文件,下载到的lib ...
- 在eclipse中查看HttpServlet源码失败的解决方法
在初次建立java EE 项目时,想要查看HttpServlet源码时会提示失败, 按照网上的方式,将Tomcat中lib中的servlet-api.jar的包导进去,发现并不管用.并且提示里面并不包 ...
- ViewController里的loadView和viewDidLoad什么区别
当你访问一个ViewController的view属性时,如果此时view的值是nil,那么,ViewController就会自动调用loadView这个方法.这个方法就会加载或者创建一个view对象 ...
- MVC验证码生成类库
public class ValidateCode { /// <summary> /// 验证码的最大长度 /// </summary> public int MaxLeng ...
- EF Core中Key属性相同的实体只能被跟踪(track)一次
在EF Core的DbContext中,我们可以通过DbContext或DbSet的Attach方法,来让DbContext上下文来跟踪(track)一个实体对象,假设现在我们有User实体对象,其U ...
- c++中如 <类名 类名::对象> 是什么意思
CComplex CComplex::add(CComplex &x) (这一句 不懂为何 类名 类名::对象) { CComplex y(real+x.real,image+x.image) ...
- iOS合并真机和模拟器framework
在实际的项目开发中,我们会碰到某些静态库只能在真机或者模拟器中的一个上可以运行.为了让静态库在模拟器和真机都可以正常的运行,就涉及到如何把一个工程生成的静态库打包以后生成的framework进行合并. ...
- dva框架使用详解及Demo教程
dva框架的使用详解及Demo教程 在前段时间,我们也学习讲解过Redux框架的基本使用,但是有很多同学在交流群里给我的反馈信息说,redux框架理解上有难度,看了之后还是一脸懵逼不知道如何下手,很多 ...
- 【2018 ICPC亚洲区域赛徐州站 A】Rikka with Minimum Spanning Trees(求最小生成树个数与总权值的乘积)
Hello everyone! I am your old friend Rikka. Welcome to Xuzhou. This is the first problem, which is a ...
- MySQL学习之流程结构
流程结构 流程结构:代码的执行顺序. if分支 根据要求选择合适的执行部分. 基本语法 if在MySQL中有两种基本用法 1.用在select查询当中,当作一种条件来进行判断. 基本语法:if(条件, ...