Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 01.02.2008, 19:16
xAnthony вне форума Посмотреть профиль Отправить личное сообщение для xAnthony Найти все сообщения от xAnthony
  № 1  
Ответить с цитированием
xAnthony

Регистрация: Feb 2008
Сообщений: 5
Question Проблема взаимодействия Flash и MySQl

Разрабатываю онлайн игру во Flash. Действия в игре проходят в реальном времени. Игра работает по принципу постоянного обмена данными между флешем и базой данных MySQL. Запись и загрузка данных в БД обеспечивается отдельными php-скриптами.
Герой бегает по полю, а его координаты постоянно сохраняются в БД. Если перезапустить игру и снова зайти в нее, его координаты должны считаться из БД и герой должен оказаться на том же месте, при котором он был когда вышел из игры.
Сначала все идет нормально. Когда игрок бегает по полю, координаты успешно сохраняются в БД. Но когда я перезапускаю страницу и вновь захожу в игру, то герой почему-то оказывается на той позиции на которой был и при предыдущем входе в игру.
Допустим по умолчанию герой находится в координатах 100;100. Я перевожу его в координаты 200;100. Проверив БД я могу убедится что в ней сохранились координаты 200;100.
Но когда я перезапускаю страницу и вновь захожу в игру, игрок снова стоит в координатах 100;100. Перевожу героя в другие координаты, выхожу, захожу опять, а герой снова стоит в координатах 100;100. Однако если повторно зайти в игру через некоторое время (например через 10 минут), то координаты считаются из БД успешно и герой станет в позиции, где я его оставил.

Протестировал работу php-скриптов. Открыл их на отдельных вкладках браузера. Запустил скрипт записи, передав ему произвольные переменные координат. Сразу после этого запустил скрипт считывания. Выводятся только что внесенные мной координаты. Могу повторять эту операцию сколько угодно раз. На уровне скриптов все работает как и должно. Зашел в игру и передвинул игрока в какие-либо координаты. Вновь запустил скрипт считывания, а он вернул мне те самые переменные которые были до того как я передвинул героя.
Вновь пытаюсь записать данные в игру, обратившись отдельно к скрипту записи. Запись проходит успнешно. Запускаю скрипт считывания, а он опять возвращает уже не новые, а прежние координаты. Тоесть как только в записи данных поучаствывал флеш, скрипт считывания перестает работать.
Делаю следующую операцию: просто обновляю страницу со скриптом считывания. После обновления он наконец возвращает нововнесенные координаты и начинает работать правильно. Сразу же после этого захожу в игру. Игрок становится в позиции соответствующую координатам, которые находятся в БД. Однако если передвинуть его, пролема повторяется в вновь, до тех пор пока я не запущу скрипт считывания на отдельной вкладке или если он уже открыт обновлю страницу.

Надеюсь, я обьяснил все доходчиво
Обьясните пожалуйста, почему происходит такая ошибка и как мне ее избежать. Заранее благодарен!

Создать новую тему   Часовой пояс GMT +4, время: 17:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.