セーブとロードを実装する方法
セーブとロードを実装する方法
基本的なセーブ・ロードのサンプル
import "CoreLibs/graphics"
local pd <const> = playdate
local gfx <const> = pd.graphics
local ds <const> = pd.datastore -- データストア.
--スコア
--@type integer
local score = math.random(0, 100)
function pd.update()
gfx.clear()
if pd.buttonJustPressed(pd.kButtonA) then
-- Aボタンでセーブ.
local saveData = {
hiscore = score,
}
ds.write(saveData, "score")
print("Score saved! score:" .. score)
elseif pd.buttonJustPressed(pd.kButtonB) then
-- Bボタンでロード.
local loadedScore = ds.read("score")
-- 読み込みに成功したらデータを取得.
if loadedScore then
score = loadedScore.hiscore
print("Score loaded! score:" .. score)
end
end
gfx.drawText("Score: " .. score, 50, 30)
gfx.drawText("Press A to SAVE", 50, 50)
gfx.drawText("Press B to LOAD", 50, 70)
end
セーブデータの保存先ですが、
Playdate Simulatorの場合は、"File > Reveal Data Folder..." ([CTRL+B]) でデータフォルダを開きます。
"Data" フォルダ以下に、
pdxinfoで設定した名前のフォルダの下に "score.json" というファイルが作成されています。
データストアは
JSON 形式で保存するので、テキストエディタで開くと、
}
このようなフォーマットで保存されていることが確認できます。
関連ページ
最終更新:2026年04月26日 22:07