データの保存・読込

データをファイルに保存する

Love2Dではlove.filesystem.writeを使用することで専用のディレクトリにデータをファイルで保存することができます。

OSパス
Windows XPC:\Documents and Settings\user\Application Data\LOVE\
Windows Vista,7,8,10C:\Users\user\AppData\Roaming\LOVE
Mac/Users/user/Library/Application Support/LOVE/
Linux$XDG_DATA_HOME/love/
Android/data/user/0/org.love2d.android/files/save/
function love.load()
  success, message = love.filesystem.write("data.txt", "hello!")
end

function love.draw()
  love.graphics.print(tostring(success), 20, 20)
end
データの保存

実行するとファイルdata.txtに文字列hello!が書き込まれて保存されます。既にdata.txtが存在する場合、新しいファイルに置き換えられます。

love.filesystem.writeは戻り値として保存の成功可否とエラーメッセージ(失敗時のみ)を返します。

データをファイルから読込む

保存したファイルを読込む場合はlove.filesystem.readを使用します。

function love.load()
  contents, size = love.filesystem.read("data.txt")
end

function love.draw()
  love.graphics.print(contents, 20, 20)
  love.graphics.print(tostring(size), 20, 40)
end

love.filesystem.readは戻り値としてファイルの情報とファイルの情報のサイズを返します。

データファイルの取扱いの注意点

love.filesystem.writelove.filesystem.readでデータを読み書きしているファイルはユーザーが簡単にアクセスすることができます。そのため、データを平文(暗号化していない)の状態で保存するとデータの変更が容易に行えてしまいます。扱うデータによっては暗号化する、または他のデータの保存方法を考える必要があります。