主なコンテンツ

〜主なコンテンツ〜

1. Unityで製作したゲームと製作Tips
  1. 三月精チャレンジ(東方Project二次創作)
    1. 作り方
  2. 英語学習2D(オリジナルスマホアプリ)
2. UE4
3. ゲームアプリ見学
4. Bitbucket & SourceTreeでの一連の流れ
  1. 前半
  2. 後半
5. Tips
  1. UnityのTips
  5. SQL文のTips
  6. Final IK
  7. GearVR+Unity

2016年4月19日火曜日

SQLiteUnityKitを使う(SQLiteUnityKit導入編)

参考

  1. 導入編
    1. Mac寄りの解説
    2. Windows寄りの解説
  2. SQLite対応のGUIの検討
    1. 過去の記事(SQLite対応のGUI)
  3. C#とSQLiteについて
    1. 過去の記事(C#によるSQLiteの操作)
  4. UnityとSQLiteについて
    1. 過去の記事(SQLiteとUnity)
  5. データベースの周辺知識
    1. 過去の記事(データベースの種類や用語)

注意

Build SettingのプラットフォームがWeb Playerだとエラーが出る(参考)。

本題


1. SQLiteUnityKitの導入

冒頭参考の「導入編」リンク先の解説に従い、SQLiteUnityKitを自身のProjectに加える。ただし、SqliteDatabase.csには知っておくべき内容があるのでチェックした方が良い。下に示すのはSqliteDatabase.csのコンストラクター(初期化)を抜粋したものである。


注意点

  1. 冒頭参考の「UnityとSQLiteについて」で語られていた内容がここに当たる
    1. Android端末はStreamingAssetsに直接アクセスできない
    2. データベースをPersistentDataPathにコピーする
    3. これによりAndroid・iOS共に同じ記述で処理できるようになる
  2. コピーが起きる条件は下記のいずれかである(上記スクリプトの9行目)
    1. 引数で受け取った名前のファイルがPersistentDataPathに無い場合
    2. ファイルの更新日を比較して、PersistentDataPathの方が古い場合

特にファイルの更新日でデータベースが上書きされてしまうのが厄介。File.Copyの第3引数のtrueは「上書き保存を許可する」の意味である。これにより、端末に保存したユーザーデータが簡単にリセットされてしまう。

コピー条件の後者は削除して、「ファイルが存在しない時のみコピー」とした方が無難。完全に書き換えたい場合は、PersistentDataPathのファイルを削除すれば良い。これにより同名のファイルが無くなるので、StreamingAssetsからコピーされる。なお、こちらのサイトでは引数を増やして対応していた。

0 件のコメント:

コメントを投稿