您的位置:首页 > 移动开发 > Cocos引擎

关于Cocos2d-x中音效重复播放问题的解决

2016-12-05 18:10 357 查看
在做一些动作的时候,有时候只希望播放一次音效,但是触发音效的前提条件是要按着某个按钮,如果直接把播放音效的语句写在MOVED的case中,就会重复播放音效

解决方法就是把播放音效的语句写在BEGAN的case中,这样,每次点击下去的时候只会播放一次,播放语句在其他的任何位置都不合适

1 creep->addTouchEventListener([=](Ref * pSender, Widget::TouchEventType type){
2         switch (type)
3         {
4
5         case Widget::TouchEventType::BEGAN:
6             //播放下蹲音效
7             SimpleAudioEngine::getInstance()->playEffect("sound/creep3.mp3");
8         case Widget::TouchEventType::MOVED:
9
10             if (!_isOver)
11             {
12                 gamecontroller->onCreep();
13             }
14             break;
15         case Widget::TouchEventType::ENDED:
16             if (!_isOver)
17             {
18                 gamecontroller->onNormal();
19             }
20             break;
21         default:
22             break;
23         }
24     });
25     this->addChild(creep, 4, GameScene::NodeTag::CONTROLBTNS);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐