Виртуальный джойстик дизайна 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].