Для связи: dmitriyzhuravlev (гав-гав) yandex.ru

Персональный сайт Дмитрия Журавлева


Мой ЖЖ: dimadima.livejournal.com — там дубль, плюс коментов больше.

 
Игра-квест онлайн: выберись из комнаты

Ваш браузер не поддерживает Canvas.

canvas-x последн. клика ЛКМ:
canvas-y последн. клика ЛКМ:
canvas-x последн. клика ПКМ:
canvas-y последн. клика ПКМ:
x-сдвиг экрана (screen.xShift):
y-сдвиг экрана (screen.yShift):
targetX игрока:
targetY игрока:
x игрока:
y игрока:
тест. счётчик:
player.routeIndex (индекс элемента массива маршрута):
player.routeArr (маршрут игрока):
размер canvas и объекта screen:
размер stage:
координаты курсора в canvas:

* Работает на компах, на мобилах нет смысла играть - нет мышки и соответственно правой кнопки.
* Всё нарисовал сам и написал сам на "ванильном" JavaScript.
* Игра поддерживает разные размеры canvas, т.е. разные размеры экрана. Нет жёсткой привязанности всей логики к конкретным ширине и высоте.
* Минимальное перемещение игрока не ограничено, вернее, ограничено одним пикселем.
* Небольшая задержка в начале загрузки - это построение графа уровня. Чем больше площадь уровня (ширина и высота в пикселях), тем больше строится граф. На обычном современном ПК эта задержка около 1 секунды.
* Единственное, что здесь чужое, т.е. не написанное мною - это как раз граф уровня и построение маршрута по графу через алогоритм A* (А-звезда). Алгоритм поиска пути использую чужой, хотя он очень долго думает, если кликом было место, на которое нельзя зайти. Поэтому добавил проверку, что на пиксель нельзя зайти: в этом случае вокруг ищется ближайший свободный пиксель.
* Учитывается ширина и "глубина" игрока.
* Учитывается правильное накладывание одних спрайтов поверх других.
* Можно настроить расстояние, с которого берётся предмет в инвентарь.
* Описания предметов выводятся с правильным автоматическим (а не ручным) форматированием текста. Браузерный canvas сам не умеет подгонять текст в абзац. Размер рамки описания, отступы можно настраивать и текст подгоняется автоматичеки.
* У каждого предмета можно сформировать сложную область, при клике на которую выводится описание. Для этого используются прямоугольники.
* Инвентарий можно прокручивать не только кнопками, но и колёсиком мыши.
Раздел: JavaScript

Комментарии
(из-за долбаных спамеров урлы в коментах теперь писать нельзя)

Имя:

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

 



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