Сохранение данных из AS3 в базу данных... Какой метод лучше?

Я разрабатываю игру для двух игроков с флеш-памятью, и мне нужно сохранить данные в базу данных.

На данный момент я использую AMFPHP. Работает отлично.

Проблема в том, что я начинаю получать довольно много информации - разные добрые мелочи, такие как x, y, hp, path, activeskills... и т. Д. Каждый раз, когда я добавляю что-то, мне приходится кодировать это в AS и PHP и изменять структуру БД.

Так есть ли лучшее решение для этого?

Я хотел бы отправить AMF-пакет с флэш-памяти на PHP и сохранить его в БД. Другой игрок может просто загрузить этот AMF-пакет из БД... но я думаю, что это невозможно. Не удалось найти ни одного рабочего решения из Интернета.

** Идеальная структура БД для меня была бы:

идентификатор, GameID, GameData

Так как же мне "сжать" все данные до "gameData"?** Array, amf, string..

2 ответа

Решение
  • Вы можете сохранить двоичный файл в базу данных SQL. Например, MySQL имеет тип поля BLOB для хранения вашего объекта данных. Я просто не могу вспомнить, если объекты данных автоматически сериализуются при передаче через AMFPHP, или вам нужно будет выполнить сериализацию.
  • Вы можете закодировать объект данных через Base64 и сохранить его в базе данных SQL.
  • Самый элегантный способ решения этой проблемы - написать gameData в виде строки в формате JSON.

AMF не является проблемой: правда в том, что вы еще не завершили свое приложение и вы хотите использовать ярлык, который сводит на нет большую часть преимуществ, которые обеспечивает AMF (например, строгая типизация).

Вам необходимо завершить параметры, необходимые для обмена / сохранения, нормализовать хранение этих данных и соответствующим образом обновить ваши классы AMF.

Другие вопросы по тегам