1

私はすでに Android でゲームを公開していますが、libGDX でビルドしていません。今、私はゲームを再構築していますが、誰かが私を助けてくれることを望んでいる大きな問題に遭遇しました.

私はもともと Android の SharedPreferences を使用してデータを保存していましたが、現在は libGdx Preferences を使用しています。これは、ゲームをダウンロードしたことがない人にとっては問題ありません。ただ、すでにダウンロードしてしまった方が心配です(セーブデータをなくしたくない)。新しいバージョンのゲームでこのデータを取得する簡単な方法はありますか?

アップデート

まったく同じコードを使用できました。LibGDX の設定は SharedPreferences に基づいているためです。すばらしかった。iPhoneに移行するときにうまくいくことを願っています。

4

1 に答える 1

2

ゲームの Android バックエンドで古いものを読み取ることができるはずですSharedPreferences(そこで任意の Android コードを使用できます)。

Libgx の「プラットフォーム固有のコード」アプローチを使用してセットアップを行い、共有コードが Android コードを呼び出すことができるようにします。(詳細については、wiki ページを参照してください: https://code.google.com/p/libgdx/wiki/ApplicationPlatformSpecific )。

これを構築する方法はいくつかありますが、最初に のようなメソッドを含むインターフェイスを作成する必要があると思いますupgradeOldPreferences。そのインターフェースを実装するクラスへの参照を、ApplicationListener各バックエンドの のコンストラクターに渡します (このクラスは、他のバックエンドではノーオペレーションです)。Android バックエンドでは、「新しい」設定をチェックして、既存の設定を変換する必要があるかどうかを確認する必要があります。その場合は、Android 固有のSharedPreferencesコードを使用して読み込んでください。Android バックエンドで Libgdx API を使用できるため、Libgdx 設定を書き出すか、結果のデータをゲームに戻すことができます (たとえば、インターフェイス メソッドの戻り値として)。この時点で、古い設定が既に変換されていることを示すフラグを新しい設定に残しておきたいと思うでしょう。

SharedPreferencesまたは、Android 上の Libgdxがバックエンドとして使用するという事実に依存し( AndroidPreferences.javaを参照)、古い設定を Libgdx で使用される形式に直接移行することもできます。

于 2013-05-27T04:58:45.540 に答える