2011-10-23 21 views
0

私はフラッシュで2人のターンベースのゲームを開発しています。私はデータベースにデータを保存する必要があります。AS3からデータベースにデータを保存するにはどのような方法が最適ですか?

AMFPHPを使用しています。よく働く。

問題は、私は非常に多くの情報を持ち始めています - x、y、hp、path、activeskills ...などのような小さなものは別です。何かを追加するたびに、ASとPHPにコードを付けなければなりません。 DB構造を変更する。

これを行うにはより良い解決策がありますか?

AMFパケットをフラッシュからPHPに送信してDBに保存したいと思います。他のプレイヤーはこのAMFパケットをDBからロードすることができます。しかし、それは不可能ですね。 Webから実際の解決策を見つけることができませんでした。

**私のための理想的なDB構造は次のようになります?

ID、gameId、gameData

だから私は 'gameData' にすべてのデータを "圧縮" する方法**アレイ、AMF、文字列

..

答えて

0
  • SQL DBにバイナリファイルを保存できます。たとえば、MySQLにはデータオブジェクトを格納するフィールドタイプがBLOBです。私は、データオブジェクトがAMFPHP経由で送信されたときに自動的にシリアル化されるかどうか、またはシリアル化を行う必要があるかどうかを覚えていません。
  • データオブジェクトをBase64でエンコードし、SQL DBに保存することができます。
  • 私はこの問題を解決するために考えることができる最もエレガントな方法は、JSON形式の文字列としてgameDataを書くことです。
+0

ありがとうございました!バイナリは私が理解しようとしていたソリューションのキーワードでした。 amfphp 2がByteArrayでバグを持つように見えるので、私は1.9に下がっていなければなりませんでした。 – Jarno

1

AMFは問題ではありません。あなたのアプリはまだ完成しておらず、AMFが提供する多くのメリット(たとえばタイピング)を無効にするショートカットを使用しようとしています。

交換/保存し、そのデータの記憶域を正規化し、それに応じてAMFクラスを更新するために必要なパラメータを確定する必要があります。

+0

それは絶対的な真実です。しかし、もう一度、私は本当にコードの数百行を書くポイントを見ていない - ちょうどデータを転送する。今私はVOを送ることができます - 私はそれが正しい用語だと思います:)私は心配することなく私のアプリを完了するために集中することができます。私は適応性のあるコアを持っているのが好きです。 – Jarno

関連する問題