大佬教程收集整理的这篇文章主要介绍了cocos2d-x中的单例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
CCDirector (导演)
通过以下几个方法可以管理场景CCScene
1.void runWithScene(CCScene * scenE)
将场景入栈,并激活。(只适用于整个App的第一个CCScene)
2.void replaceScene(CCScene * scenE)
新场景入栈,并激活,旧场景出栈并释放。
3.void pushScene(CCScene * scenE)
:rgb(51,并激活。(激活CCScene就是开始执行CCScene中所有CCNode的onEnter draw ..... 你懂的)
4.void popScene()
出栈,既然是栈肯定是后进先出。
5。void pause()
暂停场景渲染和活动
6。void resume()
恢复场景渲染和活动
CCEGLView(渲染)
原:http://blog.csdn.net/itcastcpp/article/details/18569413
CCEGLView-> CCEGLViewProtocol
CCEGLView是窗口,在不同平台上有不同的实现,而CCEGLViewProtocol是CCEGLView定义的接口,所以学习CCEGLView,主要是要学习CCEGLViewProtocol中定义的接口。
CCEGLView();
构造函数,初始化所有成员变量。
virtual void end();
删除窗口,做窗口清理工作
virtual bool isOpenGLReady();
判断是否可以绘图
virtual void swapBuffers();
交换buffer
virtual void setIMEKeyboardState(bool bOpen)
设置输入法状态
virtual void setFrameSize(float width,float height);
virtual const cCSize& getFrameSize() const;
设置和获取窗口大小
virtual CCSize getVisibleSize() const
virtual CCPoint getVisibLeorigin() const
获取可见区域的原点和大小
virtual void setDesignResolutionSize(float width,float height,ResolutionPolicy resolutionPolicy);
virtual const cCSize& getDesignResolutionSize() const;
设置设计的size,当需要适配多种设备时,可以用这个函数定义逻辑坐标,cocos2dx会自动将逻辑坐标转化成实际坐标
这样一样的代码可以适配各种设备分辨率。
virtual void setTouchDelegate(EGLTouchDelegate * pDelegatE);
设置触摸代理,触摸代理有虚函数处理触摸事件,我们需要重写触摸处理虚函数即可,一般的实现是在CCLayer中
virtual void handleTouchesBegin(int num,int ids[],float xs[],float ys[]);
virtual void handleTouchesMove(int num,float ys[]);
virtual void handleTouchesEnd(int num,float ys[]);
virtual void handleTouchesCancel(int num,float ys[]);
触摸处理函数,可以重载
static CCEGLView* sharedopenGLView();
获得单例的窗口指针,如果没有则创建,源代码如下:
CCEGLView是显示窗口,负责窗口级别的功能管理和实现,包括:
1)坐标和缩放管理
2)画图工具
3)按键事件
4)输入法
CCSpriteFrameCache(plist)
如果很多图片很小或常用,可以使用CCSpriteFrameCache,来避免资源被反复加载。
SimpleAudioENGIne(声音)
原:http://blog.csdn.net/aa4790139/article/details/8140083
第一步:预加载背景音乐和音效
// 预加载背景音乐和音效:相对路径 .mid和.wav等格式文件
SimpleAudioENGIne::sharedENGIne()->preloadBACkgroundMusic( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE) );
SimpleAudioENGIne::sharedENGIne()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE) );
第二步:控制声音
1、背景音乐控制方法:
//播放背景音乐
//@H_395_274@mUSIC_FILE就是音乐文件相对resources文件夹的相对路径下的文件名,然后再转换为绝对路径,第二个参数就是是否循环播放
SimpleAudioENGIne::sharedENGIne()->playBACkgroundMusic(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(MUSIC_FILE)).c_str(),truE);
//停止背景音乐播放
SimpleAudioENGIne::sharedENGIne()->stopBACkgroundMusic();
//暂停背景音乐播放
SimpleAudioENGIne::sharedENGIne()->pauseBACkgroundMusic();
//继续背景音乐播放
SimpleAudioENGIne::sharedENGIne()->resumeBACkgroundMusic();
//重新播放背景音乐
SimpleAudioENGIne::sharedENGIne()->rewindBACkgroundMusic();
//背景音乐是否正在播放
SimpleAudioENGIne::sharedENGIne()->isBACkgroundMusicPlaying()
//增大背景音乐音量
SimpleAudioENGIne::sharedENGIne()->setBACkgroundMusicVolume(SimpleAudioENGIne::sharedENGIne()->getBACkgroundMusicVolume() + 0.1f);
//减小背景音乐音量
SimpleAudioENGIne::sharedENGIne()->setBACkgroundMusicVolume(SimpleAudioENGIne::sharedENGIne()->getBACkgroundMusicVolume() - 0.1f);
2、音效控制方法:
//播放音效1
m_nSoundId = SimpleAudioENGIne::sharedENGIne()->playEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str());
//播放音效2
m_nSoundId = SimpleAudioENGIne::sharedENGIne()->playEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str(),51); font-family:Arial; font-size:14px; line-height:26px"> //停止播放音效(注意:如果没有播放,你就别停在,因为播都没播,你停啥啊~ 其他处理也一样...呵呵 多说了)
SimpleAudioENGIne::sharedENGIne()->stopEffect(m_nSoundId);
//暂停音效播放
SimpleAudioENGIne::sharedENGIne()->pauseEffect(m_nSoundId);
//继续音效播放
SimpleAudioENGIne::sharedENGIne()->resumeEffect(m_nSoundId);
//暂停所有音效
SimpleAudioENGIne::sharedENGIne()->pauseAllEffects();
//继续所有音效
SimpleAudioENGIne::sharedENGIne()->resumeAllEffects();
//停止所有音效
SimpleAudioENGIne::sharedENGIne()->stopAllEffects();
//卸载音效
SimpleAudioENGIne::sharedENGIne()->unloadEffect(std::string(CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(EFFECT_FILE)).c_str());
//增大音效音量
SimpleAudioENGIne::sharedENGIne()->setEffectsVolume(SimpleAudioENGIne::sharedENGIne()->getEffectsVolume() + 0.1f);
//减小音效音量
SimpleAudioENGIne::sharedENGIne()->setEffectsVolume(SimpleAudioENGIne::sharedENGIne()->getEffectsVolume() - 0.1f);
第三步:释放声音
SimpleAudioENGIne::sharedENGIne()->end();
CCAnimationCache(动画)
CCTouchDispatcher(触摸的派发器)
CCTextureCache
以上是大佬教程为你收集整理的cocos2d-x中的单例全部内容,希望文章能够帮你解决cocos2d-x中的单例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。