audio.play 不工作
audio.play not working
我尝试在我的应用程序中播放音频时收到 "upvalue error"。
我有 2 个文件:
sound_board.lua
local enemy_damaged = audio.loadSound( "assets/audio/enemy_damaged.wav" )
local ouch = audio.loadSound( "assets/audio/ouch.wav" )
local pew = audio.loadSound( "assets/audio/pew.wav" )
local function playSound(to_play)
audio.play( to_play )
end
level1.lua
local sound_board = require("sound_board")
-- some code
function fireSinglebullet()
sound_board:playSound(pew) -- line 295
-- some other code
end
启动时出现此错误:
level1.lua:295: attempt to index upvalue 'sound_board' (a boolean value)
怎么了?
仔细查看 return 在 sound_board.lua
文件中的内容。错误消息告诉 level.lua
中的局部变量 sound_board
是一个布尔值。
要从另一个文件访问变量,请使用这样的模块:
-- 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
我尝试在我的应用程序中播放音频时收到 "upvalue error"。 我有 2 个文件:
sound_board.lua
local enemy_damaged = audio.loadSound( "assets/audio/enemy_damaged.wav" )
local ouch = audio.loadSound( "assets/audio/ouch.wav" )
local pew = audio.loadSound( "assets/audio/pew.wav" )
local function playSound(to_play)
audio.play( to_play )
end
level1.lua
local sound_board = require("sound_board")
-- some code
function fireSinglebullet()
sound_board:playSound(pew) -- line 295
-- some other code
end
启动时出现此错误:
level1.lua:295: attempt to index upvalue 'sound_board' (a boolean value)
怎么了?
仔细查看 return 在 sound_board.lua
文件中的内容。错误消息告诉 level.lua
中的局部变量 sound_board
是一个布尔值。
要从另一个文件访问变量,请使用这样的模块:
-- 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