この方法を使用してゲームの設定を保存しています
いつ saveTabel と loadTable を使用する必要がありますか
アプリの起動時に saveTable を使用すると、テーブルのデフォルト値が保存されますが、アプリの再起動時に最後に保存された値を読み込むにはどうすればよいですか。
( if ) を使用して、ファイルが存在するかどうかを確認できますか?
助けてください
前もって感謝します!
この方法を使用してゲームの設定を保存しています
いつ saveTabel と loadTable を使用する必要がありますか
アプリの起動時に saveTable を使用すると、テーブルのデフォルト値が保存されますが、アプリの再起動時に最後に保存された値を読み込むにはどうすればよいですか。
( if ) を使用して、ファイルが存在するかどうかを確認できますか?
助けてください
前もって感謝します!
これを main.lua で使用できます。
--require the file with the save/load functions
local settings = require("settings")
myGameSettings = loadTable("mygamesettings.json")
if myGameSettings == nil then
--There are no settings. This is first time the user launch your game
--Create the default settings
myGameSettings = {}
myGameSettings.highScore = 1000
myGameSettings.soundOn = true
myGameSettings.musicOff = true
myGameSettings.playerName = "Barney Rubble"
saveTable(myGameSettings, "mygamesettings.json")
print("Default settings created")
end
新しいデータを設定に保存する場合は、次のようにします。
--example: increment highScore by 50
myGameSettings.highScore = myGameSettings.highScore + 50
--example: change player name
myGameSettings.playerName = "New player name"
変更した設定を保存するには、次を使用します。
saveTable(myGameSettings, "mygamesettings.json")
データを変更するたびに設定を保存することも、ユーザーがゲームの終了ボタンをタップしたときだけ設定を保存することもできます。
デフォルト値でファイルをロードする必要があり、ファイルが存在しない場合は作成する必要があります。その値を変更するたびに、値をファイルに保存します。
次のコードが役立つ場合があります。
function load_settings()
local path = system.pathForFile( "saveSettings.json", system.DocumentsDirectory )
local file = io.open( path, "r" )
if file then
local saveData = file:read( "*a" )
io.close( file )
local jsonRead = json.decode(saveData)
value = jsonRead.value
else
value = 1
end end
function save_settings()
local saveGame = {}
if value then
saveGame["value"] = value
end
local jsonSaveGame = json.encode(saveGame)
local path = system.pathForFile( "saveSettings.json", system.DocumentsDirectory )
local file = io.open( path, "w" )
file:write( jsonSaveGame )
io.close( file )
file = nil
end
データの読み込みと保存のためにこれらの関数を呼び出すだけです。また、これらの関数を別のファイルにコーディングし、読み込みと保存のたびにそのファイルを必要としてこれらの関数を使用すると、より簡単になります。
通常、アプリの起動時に設定をロードするだけで済みます。その後、テーブルはメモリ内にあり、アプリの再起動後も存続するために必要な変更を行ったときに、テーブルを保存するだけで済みます。