首先一个游戏的音乐音效都因该放在有同一个父目录下
全局变量函数声明控制整个游戏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