Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: (2к/2к3)Выполнение действия по нажатии клавиши.

(2к/2к3)Выполнение действия по нажатии клавиши. 4 года 6 мес. назад #116460

  • Marganec
  • Marganec аватар
  • Вне сайта
  • Заблокирован
  • пффф
  • Сообщений: 362
  • Спасибо получено: 265
  • Разработчик
Приветствую всех!Во многих забугорных играх на 2003(и иногда 2000) мукере видел такую вещь:герой может почти в любой момент выполнять различные действия при нажатии кнопки Shift(или других кнопок),например,прыжок.
Знает ли кто-нибудь здесь,как можно сделать такое?



Администратор запретил публиковать записи гостям.

(2к/2к3)Выполнение действия по нажатии клавиши. 4 года 6 мес. назад #116462

  • Демий
  • Демий аватар
  • Вне сайта
  • Модератор
  • Здесь могла быть ваша реклама
  • Сообщений: 1597
  • Спасибо получено: 1520
  • 1 место в ГотвУчительРазработчикПисатель 2 местоТестерВетеран3 место Готв3 место
Создаём глобальное событие, которое работает параллельно и проверяет, не нажата ли нужная кнопка. Если да - сделать то-то.
Администратор запретил публиковать записи гостям.

(2к/2к3)Выполнение действия по нажатии клавиши. 4 года 6 мес. назад #116463

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место Поддержка ФондаПроект месяца 3 местоВетеранЗа 2 место на конкурсе маппингаДаритель СтимкеяОраторРазработчикПрограммист RubyУчитель
За действия по нажатию клавиши отвечает команда событий «Key Input Processing» (третья страница, левый столбик, седьмая сверху):

key-input-processing.png


НО! Возможность обработать Shift появилась только в RPG Maker 1.50 Value! В старых версиях (там кнопка иногда неправильно названа «Input Password») возможности проверять нажатия на Shift нет! Там только 6 стандартных клавиш (стрелки, enter/decision и escape/cancel).

Если у тебя старая версия RPG Maker 2000, и в ней эта команда выглядит так:

old-version.png


То ты ничего сделать не сможешь! Потому что варианта «Shift» тут нет. Есть только стрелки, decision (то есть Enter) и cancel (то есть Escape).

Если такой опции нет, то увы! Надо либо продумывать новый игровой процесс (например, прыгать кнопкой Enter), либо искать новую версию движка.






Если же версия поновее, и кнопка Shift есть, то тогда можно что-то сделать.

В новых версиях RPG Maker 2000 команду надо настроить так (включить Shift и «ждать нажатия на кнопку»):

keynum.png


В RPG Maker 2003 команду надо настроить так:

robota-z-klavishamy.png




Всё это нужно добавить в событие с условием «Параллельное» (Parallel process). Это может быть либо событие на карте, либо общее событие (common event) в базе данных.

В простейшем случае достаточно двух команд: вот этой (key input processing) и команды действий, которая будет выполнена после нажатия на эту клавишу. Например, можно использовать команду «Задать маршрут» (2 страница событий, правый столбик, четвёртая снизу).

При настройке команды «Задать маршрут» нужно выбрать такой маршрут: «начать прыжок», «1 шаг вперёд», «1 шаг вперёд», «закончить прыжок». Кроме того, обязательно нужно поставить галочку «пропускать невозможное» слева снизу (иначе герой застрянет, пытаясть прыгнуть не туда). Во скриншот, где отмечены нужные пункты:

jump.png


В принципе, всё. Этих двух команд достаточно, чтобы сделать простой прыжок. Главное не забыть, что активатор (триггер) должен быть «Параллельно» (или «параллельный процесс», или что-то такое — зависит от перевода):


jumps.png




Это очень упрощённое решение: с таким кодом герой сможет прыгать только там, где и так может ходить — чтобы добавить перепрыгивание препятствий, нужно включать возле препятствия переключатель «можно прыгать через препятствие». А внутри события проверять этот переключатель, если он включён — добавлять в маршрут команду «ходить через всё ВКЛ», а в конце «ходить через всё ВЫКЛ», примерно так:


jump2.png


Надеюсь, этого достаточно для начала.
Последнее редактирование: 4 года 6 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit

(2к/2к3)Выполнение действия по нажатии клавиши. 4 года 6 мес. назад #116464

  • Alexandr_7
  • Alexandr_7 аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1196
  • Спасибо получено: 543
  • Проект года 3 местоУчительПроект месяца 3 местоПроект месяца 1 местоВетеранПроект месяца 2 место
Не по теме [ Нажмите, чтобы развернуть ]
Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Последнее редактирование: 4 года 6 мес. назад от Alexandr_7.
Администратор запретил публиковать записи гостям.

(2к/2к3)Выполнение действия по нажатии клавиши. 4 года 6 мес. назад #116465

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место Поддержка ФондаПроект месяца 3 местоВетеранЗа 2 место на конкурсе маппингаДаритель СтимкеяОраторРазработчикПрограммист RubyУчитель
Ответ не по теме [ Нажмите, чтобы развернуть ]
Последнее редактирование: 4 года 6 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit

(2к/2к3)Выполнение действия по нажатии клавиши. 4 года 6 мес. назад #116466

  • Alexandr_7
  • Alexandr_7 аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1196
  • Спасибо получено: 543
  • Проект года 3 местоУчительПроект месяца 3 местоПроект месяца 1 местоВетеранПроект месяца 2 место
Ответ не по теме [ Нажмите, чтобы развернуть ]
Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Последнее редактирование: 4 года 6 мес. назад от Alexandr_7.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy
Время создания страницы: 0.197 секунд