Frequently used words (click to add to your profile)

javac++androidlinuxc#objective-cqtwindows誰得cocoapythonphprubygameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

最近の作業部屋活動履歴

2022-03-25
2019-03-04
2019-03-02
2019-03-01

最近のWikiの更新 (Recent Changes)

2019-03-04
2019-03-02
2019-03-01

Wikiガイド(Guide)

サイドバー (Side Bar)

ファイルシステム

はじめに リソースディレクトリ ドキュメントディレクトリ テンポラリディレクトリ
実行順序 strict.lua

ドキュメントディレクトリ

アプリケーションで作成したファイルをドキュメントディレクトリに保存することができます。ファイルは異なるアプリケーションのセッションごとにドキュメントディレクトリに半永久的扱いで作成されます。

例えばプレイヤーの進捗を保存するために、ドキュメントディレクトリへファイルを作成してから読み取ることができます。ドキュメントディレクトリにあるファイルを指定するには、ファイル名の先頭に "|D|" を付け加えてください:

  1. io.write("|D|save.txt")

ドキュメントディレクトリの主な利点は:

  • ファイルを変更することができます。
  • 半永久的にファイルを保存することができます。

例えば、データベースファイルへの保存、または別のユーザがドキュメントディレクトリへ情報を作成することが推奨されます。

これは簡潔な用例です。どうすれば実現できるかについては、リソースディレクトリからドキュメントディレクトリへ複製することです:

  1. -- ファイルを複写するための関数です。
  2. local function copy(src, dst)
  3. local srcf = io.open(src, "rb")
  4. local dstf = io.open(dst, "wb")
  5. local size = 2^13 -- 望ましいバッファ容量です (8K)
  6. while true do
  7. local block = srcf:read(size)
  8. if not block then break end
  9. dstf:write(block)
  10. end
  11. srcf:close()
  12. dstf:close()
  13. end
  14. -- ファイルの存在を確認するための関数です。
  15. local function exists(file)
  16. local f = io.open(file, "rb")
  17. if f == nil then
  18. return false
  19. end
  20. f:close()
  21. return true
  22. end
  23. -- 使用方法
  24. if not exists("|D|database.db") then
  25. copy("database.db", "|D|database.db")
  26. end

Copyright(C)GiderosMobile.com / Japanese translation by. isVowel

利用条件は Gideros のライセンスに従うものとします。