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

接着描述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();
}
}

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



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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值