在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视图 |
无 |
设置绘制所有对象的 |