就在最近,我开始研究我的应用程序,这是一款使用Corona SDK的益智游戏。我是Corona的新手,我正在寻找如何随机显示图像和声音的解决方案。当用户录制特定字母之一时,可能存在表示不同字母和不同声音的不同图像。我玩了一段时间,我仍然不知道如何解决这个问题。我会非常感激,如果有人能给我一个暗示或洗礼,因为我试图四处寻找类似的例子,但是,徒劳无益,对我来说没有任何作用。
local function main()
display.setDefault( "background", 215, 1, 215 )
--load sound file
local a_letter = audio.loadSound("a_letter.wav")
local puzzleArray = {"blockA.png", "blockB.png"} ,
puzzle = display.newImage( puzzleArray [math.random(#puzzleArray)])
puzzle.x = math.random( 115, display.contentWidth - 115 )
puzzle.y = math.random( 115, display.contentHeight - 115 )
puzzle.type = puzzleType
puzzle.alpha = 0.5
function puzzle: tap(event)
if puzzle.alpha == 0 then
transition.to(puzzle, {time = 1000, alpha=0})
else
transition.to(puzzle, {time = 150, alpha=1})
end
end
--Button press event
local a_puzzle = function(event)
audio.play(a_letter)
end
puzzle: addEventListener("tap", puzzle)
puzzle:addEventListener("tap", a_puzzle)
end
main()
这是我的实际工作代码,但将来我想为每个点击字母构建关卡并显示单词和声音。我讨论了关联数组和表格,但我不确定这是如何可行的,我希望有经验的人可以提供帮助。 问候
答案 0 :(得分:1)
如果你想让同一个字母播放相同的音频,你可以使用这样的表:
local resources={
letterA={audio_file="XXX.mp3",img="XXX.png"},
letterB={audio_file="XXX.mp3",img="XXX.png"},...
}
你也可以使用
math.randomseed(tonumber(tostring(os.clock() * 1000000):reverse():sub(1, 8)) or os.time())
而不是
math.randomseed(os.time())