如何创建在Corona SDK / LUA中随机显示图像和播放音频文件的功能?

时间:2014-09-15 21:54:59

标签: arrays image audio lua corona

就在最近,我开始研究我的应用程序,这是一款使用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()

这是我的实际工作代码,但将来我想为每个点击字母构建关卡并显示单词和声音。我讨论了关联数组和表格,但我不确定这是如何可行的,我希望有经验的人可以提供帮助。 问候

1 个答案:

答案 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())