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

在做一些动作的时候,有时候只希望播放一次音效,但是触发音效的前提条件是要按着某个按钮,如果直接把播放音效的语句写在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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值