Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузись в Свидания с отличиями — романтическую игру «поиск отличий», где ты встречаешь девушек, наслаждаешься захватывающими историями и планируешь новые свидания. Множество уровней и очаровательные спутницы ждут тебя!

Свидания с отличиями

Казуальные, Головоломки, Новеллы

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
3
Olek.Olegovich
Olek.Olegovich
1 месяц назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker MV/MZ - Обработка нажатий на клавиатуру и мышь⁠⁠

Предисловие

Иногда при разработке механик или мини-игр хочется нестандартно обрабатывать нажатия на клавиши клавиатуры или мыши. Например, совершать игровое действие по нажатию на произвольную клавишу (стрельба, прыжок, лечение), управлять интерфейсом (открывать игровую карту, ещё какое-то меню) и много что ещё.

Существует несколько способов это делать.

Способ 0

Возможно, вам достаточно будет назначить стандартные действие на нестандартные клавиши. Например, сделать ходьбу по WASD. Для подобного достаточно расширить словарь Input.keyMapper, об этом подробнее в другом гайде.

Способ 1

Небольшая справка: событие - это сообщение, которое возникает при выполнении определённых условий. Например, если пользователь пошевелил мышь или тыкнул по клавише - в системе происходит соответствующее событие.

С помощью функции document.addEventListener(<событие, <функция>) можно назначить функции-обработчики на различные события.

Можно обрабатывать нажатие на клавишу:

document.addEventListener("keydown", keyDownHandler);

function keyDownHandler(event) {

if (Input.keyMapper[event.keyCode] == "ok") {

// Ваш код

}

};

"keydown" - это название события нажатия на клавишу клавиатуры. Внутри функции обработчика мы проверяем, не помечена ли нажатая клавиша, как "ok" в Input.keyMapper.

Однако мы можем действовать свободнее и сверять напрямую с числовым кодом клавиши:

document.addEventListener("keydown", keyDownHandler);

function keyDownHandler(event) {

// 70 - это код клавиши F

if (event.keyCode == 70) {

// Ваш код

}

};

Существуют различные события, которые можно обрабатывать в играх. Вот некоторые:

// Нажатие на клавишу клавиатуры:

document.addEventListener("keydown", keyDownHandler);

// Нажатие на клавишу мыши:

document.addEventListener("click", mouseClickHandler);

// Двойное нажатие на клавишу мыши:

document.addEventListener("dblclick", mouseDoubleClickHandler);

// Игрок пошевелил мышкой:

document.addEventListener("mousemove", keyDownHandler);

Давайте немного подробнее про использование мыши. Возможно, вам хочется различать клавиши мыши (да, можно тело функции-обработчика писать прямо при добавлении слушателя событию).

document.body.addEventListener("mousedown", event => {

if (event.button == 0) {

// Нажата левая кнопка

}

else if (event.button == 2) {

// Правая кнопка

}

else {

// Другая кнопка

}

}

Способ 2

В коде движка есть функции, которые обрабатывают нажатия на клавиши мыши (сюда же относится обработка сенсорного интерфейса).

Во-первых, в rmmz_core.js можно найти функции, которые делают примерно то, о чём я писал выше:

TouchInput._setupEventHandlers = function() {

const pf = { passive: false };

document.addEventListener("mousedown", this._onMouseDown.bind(this));

document.addEventListener("mousemove", this._onMouseMove.bind(this));

document.addEventListener("mouseup", this._onMouseUp.bind(this));

document.addEventListener("wheel", this._onWheel.bind(this), pf);

document.addEventListener("touchstart", this._onTouchStart.bind(this), pf);

document.addEventListener("touchmove", this._onTouchMove.bind(this), pf);

document.addEventListener("touchend", this._onTouchEnd.bind(this));

document.addEventListener("touchcancel", this._onTouchCancel.bind(this));

window.addEventListener("blur", this._onLostFocus.bind(this));

};

TouchInput._onMouseDown = function(event) {

if (event.button === 0) {

this._onLeftButtonDown(event);

} else if (event.button === 1) {

this._onMiddleButtonDown(event);

} else if (event.button === 2) {

this._onRightButtonDown(event);

}

};

Во вторых, мы можем расширить функционал функций, которые обрабатывают различные события. Для примера возьмём событие отмены с помощью сенсорного интерфейса (сюда же относится нажатие на правую клавишу мыши, если у вас мышь для праворуких):

const Origin_TouchInput_onCancel = TouchInput._onCancel;

TouchInput._onCancel = function(x, y) {

// Ваш код

Origin_TouchInput_onCancel.apply(this, [x, y])

};

Сначала вы выполняем код, после (что важно!) вызываем оригинальный метод. Можно ваш код выполнять после кода движка. Но обязательно вызывайте Origin_TouchInput_onCancel, иначе стандартная обработка нажатия движком не выполнится.

Ещё момент. Напрямую это не относится к тему, но может быть полезно.

$gameTemp.reserveCommonEvent(N);

С помощью этой функции можно вызвать общее событие. N - номер события в Базе данных проекта. К примеру, вы можете по нажатию на какую-то клавишу вызывать общее событие, где и описана ваша уникальная игровая логика.

Вот здесь демо-проект с реализацией такой идеи.

После запуска новой игры попробуйте нажать на F и ПКМ мыши.

Буду дополнять этот гайд по необходимости, пишите ваши предложения и замечания.

Каталог моих бесплатных плагинов для RPG Maker

Показать полностью
[моё] Разработка Gamedev Программирование Javascript RPG Maker Rpg maker mv Плагин Текст Урок Статья Обучение Гайд Длиннопост
0
8
Olek.Olegovich
Olek.Olegovich
1 месяц назад
Лига Разработчиков Видеоигр
Серия RPG Maker

RPG Maker MV/MZ - Управление по WASD⁠⁠

Добавить поддержку клавиш W, A, S, D клавиатуры легко в MV и MZ.

Для этого достаточно добавить в проект такой код:

(function () {

var replacedKeyMapper = {

87: 'up',

65: 'left',

83: 'down',

68: 'right',

69: 'pagedown',

};

for (code in replacedKeyMapper) {

Input.keyMapper[code] = replacedKeyMapper[code];

}

})();

Здесь мы также "перекинули" стандартный функционал клавиши W на E.

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

У каждой клавиши есть числовой код. Представим, что в движке они помечаются маркерами. Например, стрелка вверх помечена маркером 'up'. Если игрок нажимает на эту стрелку, движок видит срабатывание маркера 'up' и обрабатывает это событие.

Маркеры задаются через словарь. Эта структура данных состоит из пар ключ-значение. Здесь ключ - числовой код клавиши, а значение - маркер. Все ключи уникальные, они не могут повторятся. Значения - могут.

Таким образом, несколько клавиш могут быть помечены одинаковым маркером. Это позволяет нам одновременно поддерживать движение как по стрелкам, так и по WASD.

При желании, вы можете добавлять свои пары ключ-значение в объект replacedKeyMapper из кода выше.

Вот код из файла движка rmmz_core.js:

Input.keyMapper = {

9: "tab", // tab

13: "ok", // enter

16: "shift", // shift

17: "control", // control

18: "control", // alt

27: "escape", // escape

32: "ok", // space

33: "pageup", // pageup

34: "pagedown", // pagedown

37: "left", // left arrow

38: "up", // up arrow

39: "right", // right arrow

40: "down", // down arrow

45: "escape", // insert

81: "pageup", // Q

87: "pagedown", // W

88: "escape", // X

90: "ok", // Z

96: "escape", // numpad 0

98: "down", // numpad 2

100: "left", // numpad 4

102: "right", // numpad 6

104: "up", // numpad 8

120: "debug" // F9

};

Здесь вы можете увидеть все доступные по умолчанию маркеры. Это полезно знать, если вы хотите добавить какой-то клавише маркер.

Есть аналогичный словарь для геймпада:

Input.gamepadMapper = {

0: "ok", // A

1: "cancel", // B

2: "shift", // X

3: "menu", // Y

4: "pageup", // LB

5: "pagedown", // RB

12: "up", // D-pad up

13: "down", // D-pad down

14: "left", // D-pad left

15: "right" // D-pad right

};

Можно также создать обработчик нажатий на клавиатуру и там смотреть на непосредственно код нажатой клавиши. Полезно, если у движка нет подходящего стандартного маркера. Но это уже для продвинутых пользователей ;) Пишите, если нужен гайд по этому.

Коды клавиш легко находятся в интернете. Можно смотреть их, к примеру, тут. Нужны DEC-коды (то есть десятичные).

Ещё важный совет. Не меняйте код движка, не редактируйте стандартные файлы. Мало того, что это запрещено правообладателем, это также неудобно и небезопасно. Что, если вы ошибётесь или захотите откатить изменения? JavaScript позволяет переопределять всё, что удобно. Поэтому для изменения кода движка используйте плагины.

Пишите ваши вопросы в этом треде, если остались.

Каталог моих бесплатных плагинов для RPG Maker

Показать полностью
[моё] Разработка Gamedev Программирование Javascript RPG Maker Rpg maker mv Плагин Текст Урок Статья Обучение Гайд
2
31
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача пиксельного экшена Calmed by the Dark Neon на Itch.io⁠⁠

Раздача пиксельного экшена Calmed by the Dark Neon на Itch.io Раздача, Инди игра, Gamedev, Разработка, YouTube, Rpg maker mv, Экшн, Itchio, Не Steam, Инди, Pixel Art, Киберпанк, RPG Maker, Открытый мир, Singleplayer, Видео, Длиннопост
Раздача пиксельного экшена Calmed by the Dark Neon на Itch.io Раздача, Инди игра, Gamedev, Разработка, YouTube, Rpg maker mv, Экшн, Itchio, Не Steam, Инди, Pixel Art, Киберпанк, RPG Maker, Открытый мир, Singleplayer, Видео, Длиннопост
Раздача пиксельного экшена Calmed by the Dark Neon на Itch.io Раздача, Инди игра, Gamedev, Разработка, YouTube, Rpg maker mv, Экшн, Itchio, Не Steam, Инди, Pixel Art, Киберпанк, RPG Maker, Открытый мир, Singleplayer, Видео, Длиннопост

ЗАБРАТЬ

Действие происходит в 2046 году. Вы играете за Томми Хантера, который охотится на монстров и решает проблемы в городе. Его ждет самая большая битва!

Calmed by the Dark Neon — это ролевая игра с открытым миром, в которой вы выполняете миссии, обычно связанные с охотой на монстров. Бой состоит из использования меча для атак ближнего боя и двух пистолетов для атак на расстоянии. Также можно уклоняться от атак противника, используя рывок.

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

Используйте мотоцикл, чтобы выполнить больше миссий;

Открытый мир;

Минимальные системные требования:

Процессор: Intel Core i3 или лучше

Оперативная память: 4 ГБ

ОС: WindowsR 7/8/8.1/10 (32/64 бит)

ВИДЕОКАРТА: графический процессор с поддержкой DirectX 9/OpenGL 4.1

СВОБОДНОЕ МЕСТО НА ДИСКЕ: 700 МБ

ДИСПЛЕЙ: 1280x768 или лучше.

Игра разработана в RPG Maker MV.

информация

Обновлено : 29 июля 2022 г.

Опубликовано : 9 июня 2020 г.

Статус : выпущен

Платформы : Windows

Дата выхода : 09 июля 2020 г.

Оценка : 4,3 из 5 звезд

Автор : Calmed by the Dark Games

Жанр : Экшен

Сделано в RPG Maker

Теги : 2D, Ролевой экшен, Футуристический, Нелинейность, Открытый мир, Пиксельная графика, RPG Maker, Для одного игрока

Средняя сессия Несколько часов

Языки : английский

Ввод : Клавиатура

Специальные возможности : Субтитры

ЗАБРАТЬ

Показать полностью 3
Раздача Инди игра Gamedev Разработка YouTube Rpg maker mv Экшн Itchio Не Steam Инди Pixel Art Киберпанк RPG Maker Открытый мир Singleplayer Видео Длиннопост
0
Dane2610
2 года назад

Всем привет. Я хочу начать создавать игры в RPG Maker. Какой лучше выбрать VX Ace или MV⁠⁠

Надеюсь на вашу помощь.

[моё] RPG Maker Rpg maker mv Rpgmaker Текст
9
7
Antoshkatop1
Antoshkatop1
2 года назад

Сделал свою игру⁠⁠

Сделал первый билд своей игры на движке "rpg Maker Mv" Пока что она называется "проект Рпк" Это игра про Пропавшего. Это имя персонажа, и его выперли из деревни за воровство, и он теперь отправляется в город, чтобы заработать себе на жизнь. Но вспоминает, что зелье, которое он украл, стоит довольно недешево, и он пытается вернуться в свой дом. (но, пока что готова только деревня и пара Нпс и квестов, так как это первая версия игры). Вот ссылочка, если кто захочет, скачаете, поиграете, напишите мнение в комменты. И стоит ли продолжать.

https://drive.google.com/drive/folders/1QAWZnzbA58oSqC8UO4bimnEe3RRGIbWH?usp=share_link весит всего 400мб

[моё] Rpg maker mv Игры Текст
23
19
Kujivunia
Kujivunia
2 года назад
My Little Pony

Hearth's Warming Quest || Приключение на День Согревающего Очага⁠⁠

Hearth's Warming Quest || Приключение на День Согревающего Очага Инди игра, RPG Maker, Rpg maker mv, My Little Pony, Длиннопост

Название: Hearth's Warming Quest || Приключение на День Согревающего Очага
Жанр: головоломка
Авторы:
Работа в RPG Maker MV: Kujivunia
Создание уровней: cute cinnabon
Движок: RPG maker MV
Платформа: Windows

Описание:
Ко Дню Горящего Очага Сумеречная Искорка подготовила игру специально для Меткоискательниц. Только работая в команде Меткоискательницы смогут решить загадки Искорки!

Ссылка на игру:
https://kujivunia.itch.io/hearths-warming-quest

Достоинства:
Это законченная игра идеальной сложности и длительности для того, чтобы получить удовольствие от прохождения за один присест.

Недостатки:
Маловато разнообразия (вполне достаточно, но было бы лучше если бы было больше). После выхода из игры прогресс сбрасывается (но учитывая длительность игры это не слишком большой недостаток, можно даже назвать особенностью в духе старых игр на СЕГЕ).

Немного информации:
Делалась для конкурса игр про My Little Pony. Мой второй проект на rpg maker.
https://tabun.everypony.ru/blog/OKI/207327.html

Плагины:
YEP_KeyboardConfig - для листания диалогов на W/S.
DK_Full_Input - для смены персонажей.
CTB_EventTriggerEventMV - для заталкивания кристаллов в порталы и разрушения рунных стен - с помощью снежных шаров.
HIME_MultipleInventories - для разделения инвентаря на трёх персонажей.

Hearth's Warming Quest || Приключение на День Согревающего Очага Инди игра, RPG Maker, Rpg maker mv, My Little Pony, Длиннопост
Показать полностью 2
[моё] Инди игра RPG Maker Rpg maker mv My Little Pony Длиннопост
13
7
Kujivunia
Kujivunia
3 года назад
Лига Разработчиков Видеоигр

ЭКВЕСТРИЕ В ОПАСНАСТИ⁠⁠

Название: «ЭКВЕСТРИЕ В ОПАСНАСТИ»

Движок: RPG Maker MV

Описание: Скайнет послал Ликвидатора в прошлое, чтобы тот убил Сару Коннор, но телепортация пошла не по плану, и машина смерти случайно попала в мир разноцветных низкорослых лошадок… Влияйте на судьбу отдельных пони — или всея Эквестрие, участвуйте в сражениях с Искусным Интеллектом и пройдите игру целым множеством способов!

Ссылка: google.disk

Управление: Ходить на стрелочки, активировать на enter (либо идти в клетку/активировать клетку щелчком мыши), меню на esc или правую кнопку мыши.

В инвентаре можно прочитать описания предметов и применить их.

Большинство предметов на локациях интерактивны и, как минимум, показывают своё описание.

Со спутниками можно поговорить, но довольно неочевидным образом:

ЭКВЕСТРИЕ В ОПАСНАСТИ My Little Pony, Игры, RPG Maker, Rpg maker mv, Gamedev, Видео
Показать полностью 1
[моё] My Little Pony Игры RPG Maker Rpg maker mv Gamedev Видео
12
Kir1806
Kir1806
4 года назад
ХАЛЯВНЫЕ ИГРЫ

Ответ на пост «Нужны ли вам уроки?»⁠⁠1

В тему, сейчас можно бесплатно опробовать RPG Maker MZ

Ответ на пост «Нужны ли вам уроки?» Rpg maker mv, RPG Maker, Игровой дизайн, Выходные, Не халява, Steam, Ответ на пост

У вас есть ещё 4 дня


https://store.steampowered.com/app/1096900/RPG_Maker_MZ/

Rpg maker mv RPG Maker Игровой дизайн Выходные Не халява Steam Ответ на пост
2
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии