2017-11-23 6 views
0

私は2dタイルベースのモバイルゲームを作っています。質問は地図を保存することです(約100)。最初のアイデアは、各オブジェクトの名前、座標、角度でローカルのsql liteデータベースを作成することでしたが、新しいtilemap updateが来ました。たぶん私は1つのシーンで100タイルマップ(または複数のタイルマップを持つグリッド)を作成し、新しいレベルを読み込むときにアクティブ/非アクティブにすることができますか?どう思いますか?そして、データベース(sqllite)は、単一性で電話で高速ですか?ユニティタイルマップとマップ一般

おかげ

答えて

0

は、私はちょうどあなたが言及した変数を含む、「タイル」または同様と呼ばれる直列化可能な純粋なC#クラスを作るお勧めします、その後、それらの配列と別の直列化可能クラスを持っていると思います。 Unityに組み込まれているシリアライゼーションを使用して、それらを永続的なパスデータファイルにパイプするだけです。ただし、JITの制限のためにiOSでシリアライズする際に問題があるかもしれませんが、タイプが複雑すぎると単純なバイナリやJSONのシリアル化も機能します。 (複雑なiOSシリアライズが必要な場合は、オープンソースツールのProtobuf-NETが良い選択肢です。)

とにかく、SQLiteはうまく動作しますが、モバイルで動作しますが、おそらくあなたが必要とするほどの価値はないでしょうあなたがしていることすべてがデータを保存しているならば、それに対処する。実際にデータに対して複雑なクエリを実行する必要がある場合は、データベースソリューションにしか到達できません。それ以外の場合は、シリアライズする必要があります。