Страницы

Поиск по вопросам

среда, 10 июля 2019 г.

Карта браузерной стратегии

Создаю карту для браузерной игры (стратегии). Карта состоит из клеток (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. Именно он позволил сделать перетаскивание карты (свайп если вам угодно) , используя математические вычисления удалось научить скрипт понимать стороны света , и перемещать в зависимости от смещения карты относительно страницы :)

Комментариев нет:

Отправить комментарий