Посмотрите внимательно, что вы возвращаете в sound_board.lua
файле.Сообщение об ошибке сообщает, что локальная переменная sound_board
в level.lua
является логическим значением.
Чтобы получить доступ к переменным из другого файла, используйте такие модули:
-- sound_board.lua
local M = {}
M.sounds = {
"enemy_damaged" = audio.loadSound( "assets/audio/enemy_damaged.wav" )
"ouch" = audio.loadSound( "assets/audio/ouch.wav" )
"pew" = audio.loadSound( "assets/audio/pew.wav" )
}
function M:playSound( to_play )
audio.play( self.sounds[to_play] )
end
return M
и
-- level1.lua
local sound_board = require( "sound_board" )
-- some code
function fireSinglebullet()
sound_board:playSound( "pew" ) -- line 295
-- some other code
end
Подробнее: Внешние модули в Corona