Ho 2 file Lua diversi, main.lua
e game_model.lua
. Sto cercando di salvare alcuni dettagli in un file JSON (Ho cercato su google che l'utilizzo di un file JSON sarebbe il modo migliore per salvare le impostazioni di un utente e il punteggio), ma sto ottenendo il seguente errore:Tentativo di indicizzare locale (valore booleano)
Error: File: main.lua Line: 11 Attempt to index local 'game' (a boolean value)
Perché sto ricevendo questo errore e come posso risolverlo?
Ecco il codice nel mio main.lua
:
--Main.lua
display.setStatusBar(display.HiddenStatusBar)
local composer = require("composer")
local game = require("data.game_model")
myGameSettings = {}
myGameSettings.highScore = 1000
myGameSettings.soundOn = true
myGameSettings.musicOff = true
myGameSettings.playerName = "Andrian Gungon"
game.saveTable(myGameSettings, "mygamesettings.json")
composer.gotoScene("scripts.menu")
game_model.lua
(nel data
sottodirectory) contiene questo codice:
--game_model.lua (located at data/game_model.lua)
local json = require("json")
function saveTable(t, filename)
local path = system.pathForFile(filename, system.DocumentsDirectory)
local file = io.open(path, "w")
if (file) then
local contents = json.encode(t)
file:write(contents)
io.close(file)
return true
else
print("Error!")
return false
end
end
function loadTable(filename)
local path = system.pathForFile(filename, system.DocumentsDirectory)
local contents = ""
local myTable = {}
local file = io.open(path, "r")
if (file) then
local contents = file:read("*a")
myTable = json.decode(contents);
io.close(file)
return myTable
end
return nil
end
Grazie per la risposta ... :) –