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

Длинные Нарды Турнир

Настольные, Мидкорные, Для двоих

Играть

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

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

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

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

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

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

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

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

4 месяца назад

Предисловие

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

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

Способ 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
9
Olek.Olegovich
Olek.Olegovich
Лига Разработчиков Видеоигр
Серия RPG Maker

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

4 месяца назад

Добавить поддержку клавиш 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
7
Olek.Olegovich
Olek.Olegovich
Лига Разработчиков Видеоигр
Серия RPG Maker

Новые фичи в моих плагинах для RPG Maker MZ!⁠⁠

4 месяца назад
Phileas's Input Sub Windows in Message

Phileas's Input Sub Windows in Message

Phileas's Input Sub Windows in Message - 1.1.0: теперь можно ограничить максимальное кол-во отображаемых опций выбора. Подробнее на форуме.

Phileas`s Audio Manager - 1.1.0: добавлены команды для управления плейлистом. Подробнее на форуме.

Здесь вы можете найти каталог всех моих бесплатных плагинов для RPG Maker по категориям.

Показать полностью 1
[моё] RPG Maker Плагин Разработка Программирование Javascript Gamedev
1
2
Olek.Olegovich
Olek.Olegovich
Серия RPG Maker

Разработка на RPG Maker. Приветствие⁠⁠

4 месяца назад

Привет, я Олег, также известен как Phileas.

Scottside

Scottside

На досуге занимаюсь инди-разработкой игр:

  • В Steam опубликовано демо нелинейной визуальной новеллы Scottside, над которой я работал программистом.

  • Остальные опубликованные проекты можно найти тут.

  • Актуальные новости и опросы игроков тут.

  • Поддержать меня можно на Boosty. Также вы можете сделать перевод через СБП по номеру телефона или на карту (данные сообщу в ЛС). Или любым другим удобным вам способом - пишите. Пока не могу включить монетизацию на Пикабу, низкий рейтинг.

1/4

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

Мой основной движок - RPG Maker. Для него я разрабатываю плагины. Какие-то для себя, какие-то под заказ, но многие публикую бесплатно для всех на GitHub.

Здесь каталог всех моих бесплатных плагинов по категориям.

Если вам нужен плагин/скрипт для RPG Maker, можете написать мне в Telegram или на почту (olek.olegovich@gmail.com). Если я посчитаю плагин сравнительно простым в реализации и универсальным (т.е. его можно будет вставить в любой проект без модификаций), то я могу опубликовать его бесплатно для всех и попросить вас задонатить комфортную для вас сумму. Если плагин будет сложным, специфичным для вашего проекта или вы сами запросите эксклюзивность, договоримся о заказе.

Перейти к видео

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

Показать полностью 5 1
[моё] Gamedev Разработка Программирование RPG Maker Javascript RPG JRPG Визуальная новелла Плагин Видео Короткие видео Длиннопост Без звука
4
0
Arseniy.Shk
Arseniy.Shk
Электронные музыканты

ГрАНАЛайзер⁠⁠

4 месяца назад

Пост только для муз продюсеров

Прикольный, почти древний плагин. Только 32 бит. Использует какой-то гранулярный процессинг, но без буфера бегунка. Результат - что-то похожее на Ring Mod и pitch delay. Фишка плагина: есть 5 положений пресета, которые можно каждое настроить. Потом между этими положениями можно делать морфинг. Плагин работает в режиме фидбэк луп. По сегодняшним стандартам плагин всё ещё годится для эффектов, особенно если ещё пост процессов добавить. В видео плагин звучит как есть на 85%wet.

Перейти к видео

Скачать плагин тут: https://morfiki.blogspot.com/
Или тут, мой перезалив. У автора уже некоторые ссылки сдохли: https://www.mediafire.com/file/vcvg4psi5ktn9hm/granaliser.zi...

granaliser-kids.vst(то что у меня в видео) - тот же самый плагин без порно картинки

Мои ссылки
группа ВК https://vk.com/public184682849
Яндекс музыка: https://music.yandex.ru/artist/8519333
Discord - https://discord.com/invite/TPTwWq7
Spotify - https://open.spotify.com/artist/3Cz23XHaoqVDVH3nAYikQR
Soundcloud - https://soundcloud.com/bixenter/
Youtube - www.youtube.com/channel/UCXoJBZFk-w5I7PyW2mBbUog

Показать полностью
[моё] Плагин Vst Электронная музыка Создание музыки EDM Видео
0
1
Вопрос из ленты «Эксперты»
TrofimOk
TrofimOk

Мод Create на сервере Майнкрафт⁠⁠

6 месяцев назад

Прошу помощи знатокам, уже долгое время бьюсь над модом Create на сервере, Сервер на версии 1,20,1 с forge 47.4.0 стоит плагин worldguard и он не может защитить от буров, поездов и установок бурения. кто в курсе есть ли какой плагин или может как то настраивается worldguard на то что бы не было прохождения механизмов через приват, но не запрещая блоки механизмов. На некоторых серверах с этим модом всё замечательно работает и нет запретов как они это сделали? или это только самопис плагин?

Проблема Minecraft Сервер Разработка Java Forge Плагин Моды Вопрос Спроси Пикабу Текст
0
0
Вопрос из ленты «Эксперты»
Kouran
Kouran

Как в старых версиях Firefox включить отключившиеся расширения в 2025 году⁠⁠

7 месяцев назад

Включить навсегда или надолго. В интернетах есть варианты, один я сам изобрёл, интересует мнение здешних экспертов.

Как в старых версиях Firefox включить отключившиеся расширения в 2025 году
[моё] Вопрос Спроси Пикабу Firefox Браузер Расширение Дополнение Mozilla Текст Проблема Технические проблемы Плагин
1
1
wphelpru
wphelpru

ТОП-10 бесплатных WordPress плагинов для SEO в 2025 году⁠⁠

7 месяцев назад

SEO остается ключевым фактором успеха любого сайта. В 2025 году WordPress предлагает множество мощных бесплатных инструментов для оптимизации. В этой статье мы собрали 10 лучших бесплатных плагинов, которые помогут улучшить видимость вашего сайта в поисковых системах без лишних затрат.

Хотите больше полезных материалов по WordPress и SEO? Подписывайтесь на наш блог в Pikabu и получайте свежие обзоры, гайды и секреты продвижения!


🔍 Критерии выбора плагинов

  1. Оптимизация контента – помощь в создании SEO-дружественных материалов

  2. Техническое SEO – улучшение индексации и скорости сайта

  3. Аналитика – отслеживание позиций и трафика

  4. Юзабилити – удобный интерфейс и настройка

  5. Бесплатная версия – полноценный функционал без платежей


🚀 ТОП-10 бесплатных SEO-плагинов для WordPress

1. Rank Math

Описание: Один из самых популярных SEO-плагинов с искусственным интеллектом. Автоматически анализирует контент, предлагает улучшения и поддерживает расширенные схемы разметки.
Основные функции:

  • Интеллектуальный анализ ключевых слов

  • XML-карта сайта

  • Интеграция с Google Search Console
    Ссылка: https://wordpress.org/plugins/seo-by-rank-math/

2. Yoast SEO

Описание: Проверенный временем плагин с мощными инструментами для оптимизации. Подходит как для новичков, так и для профессионалов.
Основные функции:

  • Чеклист читабельности контента

  • Мета-теги и сниппеты

  • Анализ ключевых слов
    Ссылка: https://wordpress.org/plugins/wordpress-seo/

3. All in One SEO Pack

Описание: Простой, но эффективный инструмент для базовой и продвинутой SEO-оптимизации.
Основные функции:

  • Автоматическая генерация мета-тегов

  • Поддержка мультисайтов

  • Интеграция с социальными сетями
    Ссылка: https://wordpress.org/plugins/all-in-one-seo-pack/

4. SEOPress

Описание: Альтернатива Yoast и Rank Math с удобным интерфейсом и мощными возможностями.
Основные функции:

  • Контроль дублированного контента

  • Настройка редиректов

  • Анализ заголовков и мета-описаний
    Ссылка: https://wordpress.org/plugins/wp-seopress/

5. Google Site Kit

Описание: Официальный плагин от Google для отслеживания эффективности сайта.
Основные функции:

  • Данные из Google Analytics и Search Console

  • Анализ скорости загрузки

  • Статистика трафика прямо в админке
    Ссылка: https://wordpress.org/plugins/google-site-kit/

6. Slim SEO

Описание: Легкий и быстрый плагин без лишней нагрузки на сайт.
Основные функции:

  • Автоматическая SEO-оптимизация

  • Минималистичный интерфейс

  • Поддержка Schema-разметки
    Ссылка: https://wordpress.org/plugins/slim-seo/

7. Broken Link Checker

Описание: Находит и исправляет битые ссылки, которые вредят SEO.
Основные функции:

  • Мониторинг неработающих ссылок

  • Возможность массового редактирования

  • Уведомления о проблемах
    Ссылка: https://wordpress.org/plugins/broken-link-checker/

8. WP Super Cache

Описание: Ускоряет загрузку сайта, что критически важно для SEO.
Основные функции:

  • Кэширование страниц

  • Снижение нагрузки на сервер

  • Поддержка CDN
    Ссылка: https://wordpress.org/plugins/wp-super-cache/

9. Redirection

Описание: Управление редиректами для сохранения SEO-веса страниц.
Основные функции:

  • Создание 301 редиректов

  • Логирование ошибок 404

  • Простое управление переадресациями
    Ссылка: https://wordpress.org/plugins/redirection/

10. Schema Pro (Бесплатная версия)

Описание: Добавляет расширенную Schema-разметку для улучшения отображения в поиске.
Основные функции:

  • Разметка для статей, товаров, рецептов

  • Поддержка Rich Snippets

  • Увеличение CTR в поисковой выдаче
    Ссылка: https://wordpress.org/plugins/schema-and-structured-data-for-wp/


💡 Какой плагин выбрать?

  • Для комплексной оптимизации: Rank Math или Yoast SEO

  • Для скорости: Slim SEO + WP Super Cache

  • Для аналитики: Google Site Kit

  • Для технического SEO: Redirection + Broken Link Checker


📢 Подпишитесь на наш блог!

Хотите больше полезных материалов по WordPress и SEO? Подписывайтесь на наш блог в Pikabu и получайте свежие обзоры, гайды и секреты продвижения!

🚀 Какой плагин используете вы? Делитесь в комментариях!

Показать полностью
Трафик Плагин SEO Wordpress Длиннопост
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии