一款游戏好比一部电影,它们的基本原理都是一样的,只是游戏具有更强的交互性,所以Cocos2d-Lua中把统筹游戏打局的类抽象为导演类(Director)
导演类是游戏的组织者和领导者,是整个游戏的导航仪和总指挥。它主要负责了以下的工作:
(1)在开始游戏和结束游戏的时候负责游戏的初始化和销毁工作。
(2)游戏场景的切换,以及场景暂停或恢复的控制。
(3)设置或获取一些系统信息,比如调整OpenGL相关的设置和得到屏幕的大小等等。
Director使用单例模式实现,也就是说一个游戏中只有一个导演。
Cocos2d-Lua中使用cc.Director表示导演类,通过下面的方法获取单例对象:
local shareDirector = cc.Director:getInstance()
导演常用方法:
(1)获取窗口大小
local winSize = shareDirector:getWinsize()
(2)暂停游戏。暂停所有计时器和动作,但场景仍然会显示在屏幕上。
shareDirector:pause()
(3)恢复游戏。恢复所有的计时器和动作。
shareDirector:resume()