2015-06-13 53 views
0

我需要关于添加声音关/按钮到我的游戏的帮助。在全局变量LUA文件,我有以下几点:添加声音开/关按钮corona sdk

local sounds = {} 
sounds["select"] = audio.loadSound("sounds/select.mp3") 
sounds["score"] = audio.loadSound("sounds/score.mp3") 
G.playSound = function(name) 
    if sounds[name] ~= nil then 
     audio.play(sounds[name]) 
    end 
end 

在games.lua文件,我调用该函数为:

utils.playSound("score") 

我有一个soundon.png和soundoff.png文件都一个精灵表(不知道这是一个好主意),我试图实现的是当你点击声音按钮时,所有的声音停止,并显示声音图像,反之亦然。 谢谢

+0

通过显示按钮单击代码来完成您的问题,并解释您如何尝试做现在想做的事情。请检查Rob的代码格式教程:https://coronalabs.com/blog/2015/06/09/tutorial-the-value-of-well-formatted-code/ – Melquiades

回答

0

我个人不会使用精灵表。只需加载两个图像并切换其“isVisible”字段。然后切换一个变量来阻止你的声音。尝试这样的事情。

myGlobalSoundToggle = true 
local image = display.newImage("soundon.png") 
local image2 = display.newImage("soundoff.png") 
image2.isVisible = false 

local function onTap(self, event) 
    image.isVisible = ~image.isVisible 
    image2.isVisible = ~image2.isVisible 
    myGlobalSoundToggle = image.isVisible 
    return true 
end 
image:addEventListener("tap", onTap) 

既然我们有我们的按钮工作,我们需要打开和关闭声音。

local sounds = {} 
sounds["select"] = audio.loadSound("sounds/select.mp3") 
sounds["score"] = audio.loadSound("sounds/score.mp3") 
G.playSound = function(name) 
    if (sounds[name] ~= nil) and (myGlobalSoundToggle) then 
     audio.play(sounds[name]) 
    end 
end