0

現在、cocos2d-x を使用して iOS MMO ゲームを開発しています。ゲームは、デザイナーが作成した多くのデータ テーブル (Excel ファイル) を使用します。これらの表には、兵舎のアップグレードに必要なゴールド (クリスタルなど) などの数値が含まれています。

私の質問は、テーブルがサーバー側で変更された場合、そのテーブルを一度更新する方法ですか?

私のオプション: SQLite を使用してクライアント側にテーブルを保存します。テーブルがサーバー側で変更されると、サーバーはテーブル (Excel ファイル) を解析し、JSON 形式でデータを送信します。クライアントは JSON 文字列を解析し、そのデータを SQLite ファイルに保存します。もっと良い方法はありますか?一部のゲームでは CSV ファイルがクライアント側に保存されていることがわかりました。これらの CSV ファイルはどのように更新されますか?

4

1 に答える 1

0

フレームワークにはいくつかのヘルパー クラスが用意されていますが (チェックアウト ccUserDefault)、データをどのように (およびどの形式で) 格納するかは完全にユーザー次第です。クライアント側のデータ ファイルが最新かどうかを確認する最も簡単な方法は、ファイルにチェックサムを適用することです (ファイルに保存されているデータまたはファイル自体にチェックサムを適用します)。したがって、同期を確認するために、サーバー側のアプリはデータにチェックサムを適用し、クライアントも同様に (もちろん同じアルゴリズムを使用します;))、数値が比較されます。一致する場合、データは同期しています。

これは、クライアント側のアプリに依存するよりも、サーバー側のアプリがデータ ファイルを生成して送信する方が、間違いなくより信頼性が高くなります。ただし、サーバーがクライアントと同じ方法でデータ ファイルを生成する方法を知っている限り、クライアントのファイル生成プロセスの成功は常に、この同じチェックサム方法を使用して検証できます。

于 2012-10-18T03:44:55.407 に答える