Виртуальный джойстик дизайна Tri-Sprite для игрового фреймворка Phaser HMTL5

Итак, несколько недель назад мне понадобился плагин Virtual Joystick (вроде как) для моей игры. Я нашел phaser-touch-control-plugin, но мне нужно было, чтобы джойстик оставался на одном месте на экране. Кроме того, код был похож на проверку указателя ввода, а не на мои вещи. Знаете, я люблю все простое и встроенное.

Поэтому я написал свой собственный виртуальный джойстик. Сейчас это звучит глупо, но в то время Фотосторм еще не выпускал своего официального плагина (все равно там он стоит 20 долларов).

Если вас больше интересует камера для Phaser, ознакомьтесь с моими предыдущими сообщениями на эту тему: часть 1часть 2.

Мой дизайн был таким: фон для джойстика (серый) и перетаскиваемый спрайт для булавки. Булавка возвращается в центр фона при перетаскивании.

Однако, поскольку ограничений нет, булавка может выходить намного дальше края фона.

Мое решение состоит в том, чтобы использовать красный слой в качестве индикатора булавки, а слой прозрачности — в качестве перетаскиваемого.

Часть dragger.input.enableDrag вызывается с параметром true, так что перетаскиватель всегда будет находиться в центре кончика пальца.

Затем индикатор будет установлен в свое положение в соответствии с положением перетаскиваемого слоя.

Оставалось только рассчитать и расставить сигналы. Полный код смотрите здесь.

Взгляните на этот виртуальный джойстик в действии в моих кадрах разработки Sword of Vendetta: Dojo’s Last Blood.

Подпишитесь на меня в Твиттере и загляните в мой блог на интересные темы.

Если вы ищете фрилансера по разработке игр и веб-разработок, свяжитесь со мной по адресу [email protected].