Создаю карту для браузерной игры (стратегии). Карта состоит из клеток (tile) ... На данный момент карта обновляется при нажатии на стрелочки рядом с картой, сама карта генерируется с помощью цикла PHP (вся информация о деревнях и ресурсах на карте - храниться и выбирается из БД) ...
Я понимаю что генерировать карту каждый раз при обновлении координат (при передвижении по карте) , это очень тяжелый процесс как для сервера так и для клиента...
То что сейчас:
Принял решение изменить карту:
Использовать AJAX (для динамического обновления карты)
Использовать JSON Для получения информации о городах на карте с помощью API
Использовать Скрол по X и Y для прокрутки карты по осям ( такую систему использовали и используют Travian )
Первые 2 пункта - не вызывают вопросов вообще ... Вот насчет 3, это проблема. Сначала выбор пал на плагин Jquery Eco-Scroll.js ... Но не смог найти как прикрутить "начальные координаты" , чтобы не 0:0 грузил, а допустим 20:5 ... Прощу помочь найти решения для реализации карты (и да я понимаю, что карта перекачует из изометрии в 2D ). Самый большой плюс Eco-Scroll.js это предзагрузка клеток .
Ответ
Самым простым способом оказалось использовать JS (Jquery). Написав небольшую библиотеку , которая генерирует слой клеток размером 20х20 (400 клеток), дальше скрипт грузит данные с сервера используя AJAX и получает ответ в JSON (создается псевдо реал тайм). После того как скрипт уже попал в кэш , загрузка и работа карты - становиться просто великолепной, небольшой скрин:
Довольно интересным решением стало использование draggable , из пакета JQuery. Именно он позволил сделать перетаскивание карты (свайп если вам угодно) , используя математические вычисления удалось научить скрипт понимать стороны света , и перемещать в зависимости от смещения карты относительно страницы :)
Комментариев нет:
Отправить комментарий