首页 > 其他 > 详细

Cocos2D-x游戏开发之音乐播放

时间:2014-03-16 14:01:52      阅读:545      评论:0      收藏:0      [点我收藏+]

接着描述Cocos2D-x基础知识。

这一节我描述一下Cocos2D-x音乐播放功能。

同样是在HelloWorld中稍加改造,二话不少代码:

bool HelloWorld::init()
{
    bool bRet = false;
    do 
    {
        //////////////////////////////////////////////////////////////////////////
        // super init first
        //////////////////////////////////////////////////////////////////////////


        CC_BREAK_IF(! CCLayer::init());


        //////////////////////////////////////////////////////////////////////////
        // add your codes below...
        //////////////////////////////////////////////////////////////////////////
        CCLabelTTF* pLabel = CCLabelTTF::create("Play\BlackMusic", "Arial", 25);
        CCLabelTTF* pLabel1 = CCLabelTTF::create("stop\BlackMusic", "Arial", 25);
        CCMenuItemLabel *label = CCMenuItemLabel::create(pLabel,this,menu_selector(HelloWorld::play));
        CCMenuItemLabel *label1 = CCMenuItemLabel::create(pLabel1,this,menu_selector(HelloWorld::stop));
        label->setPosition(CCDirector::sharedDirector()->getWinSize().width/2,CCDirector::sharedDirector()->getWinSize().height/2-10);
        label1->setPosition(CCDirector::sharedDirector()->getWinSize().width/2,CCDirector::sharedDirector()->getWinSize().height/2-30);
        CCMenuItemImage *pCloseItem =                     CCMenuItemImage::create("CloseNormal.png","CloseSelected.png", this,menu_selector(HelloWorld::menuCloseCallback));
       CC_BREAK_IF(! pCloseItem);
       pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20));
       CCMenu* pMenu = CCMenu::create(pCloseItem,label,label1, NULL);
       pMenu->alignItemsVertically();
        pMenu->setPosition(CCDirector::sharedDirector()->getWinSize().width/2,CCDirector::sharedDirector()->getWinSize().height/2);
        CC_BREAK_IF(! pMenu);
        this->addChild(pMenu, 1);
        CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("Karunesh-Follow Your Heart.mp3",true);
        bRet = true;
    } while (0);
    return bRet;
}
void HelloWorld::menuCloseCallback(CCObject* pSender)
{
    // "close" menu item clicked
    CCDirector::sharedDirector()->end();
}
void HelloWorld::play(CCObject* pSender)
{
    // "close" menu item clicked
    if (CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying())
    {
    CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("Beatit.mp3",true);
    }  
}
void HelloWorld::stop(CCObject* pSender)
{
if (CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying())
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
}
}

这个实例比较简单效果如下:

bubuko.com,布布扣


源码:http://download.csdn.net/detail/vanquishedzxl/7047355

Cocos2D-x游戏开发之音乐播放,布布扣,bubuko.com

Cocos2D-x游戏开发之音乐播放

原文:http://blog.csdn.net/vanquishedzxl/article/details/21301519

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!