封装cocos2d 音乐音效 经验小结

首先一个游戏的音乐音效都因该放在有同一个父目录下

全局变量函数声明控制整个游戏app的音乐音效

function cc.exports.playGuessEffect(value)
    local optionMusic = cc.UserDefault:getInstance():getBoolForKey("guessSound",true)
    if optionMusic then
        value = string.format("sound/guess/%s.mp3", value)
        AudioEngine.playEffect(value, false)
    end
end

再下控制音乐和音效的类方便使用和控制整个游戏音乐音效

local GuessSound = class("GuessSound")

--[[
按钮点击音效
]]
function GuessSound.buttonClick() 
	playGuessEffect("click")
end

--[[
答案正确
]]
function GuessSound.answerRight() 
	playGuessEffect("guess_answer_right")
end
return GuessSound 

在使用时如按钮需要有点击音效可这样使用:

 if btn_rechange and tolua.isnull(btn_rechange) == false then
                btn_rechange:setZoomScale(BUTTON_ZOOM_SCALE)
                btn_rechange:addClickEventListener(function ()
                    GuessSound.buttonClick()  --按钮音效播放
                    local scene = app.getRunningScene()
                    if scene then
                        require("app.product.guess.views.shop.LayerShopView").new()
                            :addTo(scene)    
                    end
                end)
            end

这样写的好处有利于整理音效音乐,代码简洁,易查找bug

猜你喜欢

转载自blog.csdn.net/ding_westbrook/article/details/80506448