zoukankan      html  css  js  c++  java
  • 【转】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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    SpringRequestContext源码阅读
    MyBatis事务管理源码阅读
    linux查找依赖文件
    GitHub
    Qt Quick
    centos7下安装chrome
    软件使用
    排序算法之冒泡排序
    c++学习
    cent6.4使用
  • 原文地址:https://www.cnblogs.com/eggtomcato/p/10113799.html
Copyright © 2011-2022 走看看