cocos2d-x的单例
单例是在程序生命周期里只被实例化过一次的类。
一般利用类的一个静态方法来生成和访问对象。
通过以“shared”开头的方法来访问cocos2d-x的单例对象的。
以下是一些最常用到的cocos2d-x 单例类和访问它们的方法:
CCActionManager* sharedManager = [CCActionManager sharedManager];
CCDirector* sharedDirector = [CCDirector sharedDirector];
CCSpriteFrameCache* sharedCache = [CCSpriteFrameCache sharedSpriteFrameCache];
CCTextureCache* sharedTexCache = [CCTextureCache sharedTextureCache];
CCTouchDispatcher* sharedDispatcher = [CCTouchDispatcher sharedDispatcher];
CDAudioManager* sharedManager = [CDAudioManager sharedManager];
SimpleAudioEngine* sharedEngine = [SimpleAudioEngine sharedEngine];
单例的好处是它可以在任何时间任何地点被任何类所调用。
类似一个全局变量。如果你需要在任何地方都能用到某些数据或者方法,单例是很好的选择。
音频就是个很好的例子:因为任何一个类,不管是玩家,敌人,菜单按钮,或是过场动画,都可能需要播放声效或者改变背景音乐。