내 위젯 전환 버튼과 관련하여 도움이 필요합니다. 나는 사운드 스위치와 음악 스위치를위한 2 스위치 버튼을 만들었지 만 문제는 음악 스위치를 켤 때마다 스위치가 켜져 음악이 켜질 때마다 속도가 빠름을 의미합니다. /떨어져서. 다음 문제는 매번 음악 스위치를 끄면 음악 (mp3 사운드)도 꺼집니다. 는 Heres는 내 코드 :사운드 및 음악 코로나 SDK 용 스위치 버튼 2 개?
--utils.lua
local sounds = {}
sounds["select"] = audio.loadSound("sounds/select.mp3")
sounds["score"] = audio.loadSound("sounds/score.mp3")
sounds["incorrect"] = audio.loadSound("sounds/gameover.mp3")
sounds["clap"] = audio.loadSound("sounds/clapping.mp3")
sounds["music"] = audio.loadSound("sounds/gameMusic.mp3")
M.playSound = function(name)
if sounds[name] ~= nil then
audio.play(sounds[name])
end
end
--Settings.lua
soundSwitchPressed = function(event)
local switch = event.target
utils.playSound("select")
if switch.id == "sound" then
if switch.isOn == true then
audio.setVolume(0)
else
audio.setVolume(1)
end
end
end
musicSwitchPressed = function(event)
local switch = event.target
utils.playSound("music")
if switch.id == "music" then
if switch.isOn == true then
audio.setVolume(0)
else
audio.setVolume(1)
end
end
end
local sound_switch = widget.newSwitch
{
left = _W-70,
top = navBar.y + navBar.height/2 + 44,
style = "onOff",
id = "sound",
x = 800,
y = 960,
onPress = soundSwitchPressed
}
sound_switch.xScale, sound_switch.yScale = 3, 3
uiGroup:insert(sound_switch)
local music_switch = widget.newSwitch
{
left = _W-70,
top = navBar.y + navBar.height/2 + 44,
style = "onOff",
id = "music",
x = 800,
y = 1200,
onPress = musicSwitchPressed
}
if audio.getVolume() == 0 then
sound_switch:setState({isOn=false, isAnimated=false})
music_switch:setState({isOn=false, isAnimated=false})
else
sound_switch:setState({isOn=true, isAnimated=false})
music_switch:setState({isOn=true, isAnimated=false})
end
end
Idurniat 씨가 채널을 선언하는 또 다른 방법이 있습니까? 전의. ("선택"). 채널 = 1 -이 메신저의 종류에 오류가 발생했습니다. 오류 : 필드 '선택'(사용자 데이터 값)을 색인하려고 시도합니다. btw 나는이 소리 [ "박수" ] = audio.loadSound ("sounds/clapping.mp3", {channel = 1}) 여전히 오류가 있습니다 ... 아프다. 오디오에 대해 더 자세히 읽어보십시오 ... –
나는 내 대답을 향상 시켰습니다. 이제는 효과가있다. 그것은 틀린 문법입니다'sounds [ "clap"] = audio.loadSound ("sounds/clapping.mp3", {channel = 1})'예를 들어 오디오를 재생, 정지 할 때'channel' 매개 변수를 사용해야합니다. .stop (1)'또는'audio.setVolume (0, {channel = 1})'을 호출합니다. – ldurniat
당신은 정말 큰 도움이 되겠지만 어떻게 내 스위치 버튼의 애니메이션을 저장할 수 있을까요? 뒤로 버튼을 클릭 한 후 내 스위치는 스스로를 저장하지 않을 것입니다. 내 if-else 문 audio.getVolume은 코드를 편집 한 후 애니메이션 전환 버튼을 저장하지 않습니다. 하지만 만약 audio.stop() == nil 시도했다. 여전히 작동하지 않습니다. –