基 础 知 识(3)

  

3.2  Director类

CCDirector类(简称Director)是整个cocos2d游戏引擎的核心。如果回想一下在2中学到的HelloWorld程序,就会想起cocos2d中很多初始化过程都包含了[CCDirectorsharedDirector]这个调用。Director被设计为单件,这个设计是非常合理的:它存储了cocos2d中大量的全局配置信息,而且管理着所有的cocos2d场景。

Director的主要用途包括:

n●    切换场景

n●    存储cocos2d配置信息

n●    访问视图(OpenGL  UIView UIWindow)

n●    暂停、恢复以及终止游戏

n●    在UIKit和OpenGL之间转换坐标

事实上,一共有4种Director可供选择,但它们之间只有细微的差别。最常用的一种是CCDisplayLinkDirector,它的内部采用苹果公司官方的CADisplayLink类来实现。这是一个很好的选择,但它只在iOS 3.1或更高的版本上可用。另一种选择是,可以使用CCFastDirector。如果想同时使用cocos2d和Cocoa Touch视图,就必须使用CCThreadedFastDirector,因为只有它可以同时支持cocos2d和Cocoa Touch视图。CCThreadedFastDirector的缺点在于耗电量比较大,如果你非常注重这一点,那么应选用CCTimerDirector。不过,不到万不得已,最好不要用它,因为它是所有Director中最慢的一个。

3.3  场景图

场景图有时也称为场景层次体系,是一个由所有处于活动状态的cocos2d节点构成的层次体系。除了场景以外,每个节点只有一个父节点,同时可以拥有任意个数的子节点。

当向节点添加节点时,就是在构建一个节点场景图。场景图的顶层通常是一个场景节点,接下来是一个层节点。层节点在cocos2d中负责接收触摸输入和加速计输入。

读书导航