【转】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的笔记整理一下,内容尽量简洁. ...
随机推荐
- mybatis逆向工程mbg
mbg:mybatis generator=mybatis代码生成器 1.看一下项目结构 其中bean文件,mapper接口文件和mapper.xml文件是代码生成器自动生成的. 使用generato ...
- Qgis 里的Python脚本介绍
QGIS 入门演示之<用 QGIS 画矢量交通路线图> 脚本编程之准备知识<Python 教程> QGIS API QGIS插件库 运行QGIS脚本,对于桌面应用来讲有4种方式 ...
- 【SQLSERVER学习笔记】分页存储过程+调用
USE [数据库名] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[存储过程名] @pageI ...
- Linux 文件系统 的 学习
学习参考大神:http://www.cnblogs.com/yyyyy5101/articles/1901842.html 总结:简介 http://linux.chinaunix.net/tech ...
- Java参数传递对象引用传递失效
产线问题排查,方法传递对象引用但返回后对象一直为空 原因: null作为参数传递的时候,就不是引用传参了 Java参数引用传递之例外:null 众所周知的是,java中除基本类型外,参数都是引用传递. ...
- BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析
重构代码,方法抛出异常:BindingException: Invalid bound statement (not found) 提示信息很明显:mybatis没有提供某方法 先不解释问题原因和排查 ...
- [译文][转载]greenlet:轻量级并发程序
英文原文地址:https://greenlet.readthedocs.io/en/latest/中文翻译转载地址:https://zhuanlan.zhihu.com/p/25188731 背景 g ...
- chromium之observer_list
典型用法如下 /////////////////////////////////////////////////////////////////////////////// // // OVERVIE ...
- ABAP术语-RFC (Remote Function Call)
RFC (Remote Function Call) 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/12/1101581.html RFC ...
- vue服务端渲染缓存应用
vue缓存分为页面缓存.组建缓存.接口缓存,这里我主要说到了页面缓存和组建缓存 页面缓存: 在server.js中设置 const LRU = require('lru-cache') const m ...