Сохранение данных из 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.