Создать карту самого лифта. С элементами для специальных картинок. Пример на скриншоте 1
Создать карты для этажей.
Сделать скриншот карты лифта и открыть в графическом редакторе.
Открываем скриншот карты и создаем в графическом редакторе следующие элементы:
Шахту для нашего лифта (я взял уже готовый результат из своего проекта). Скриншот 2. Слой “Шахта”.
Двери в шахте. Нужно подогнать под двери лифта. Скриншот 2. Группа слоев “Двери”
Худ с отверстием, отображающим название этажа. Скриншот 2. Слой “Над”.
Тросы в шахте лифта (я взял уже готовый результат из своего проекта). Скриншот 4. Группа слоев “Троссы”
Создаем название этажей отдельным файлом. Размер нужно подогнать под область, сделанную в пункте 6.3 Скриншот 3.
Создаем параллакс файл содержащие номера этажей. Размер данного файла по высоте должен быть высота экрана игры * количество этажей. В моем случае 624 * 3 = 1872. Ширина должна быть такой же, как и ширина экрана. В моем случае 816. Рисуем номера этажей в нужных нам позициях начиная с большего. Должно получится то, что изображено на Скриншот 5.
Сохраняем все это в необходимые папки:
В папку layers (которую нужно создать в паке img) поместить шахту с дверью, 1 и 2 трос лифта, параллакс файл с номерами этажей. Должно получится то, что изображено на Скриншот 6.
В папку pictures поместить область худа, название этажей. Важно перед именем этих картинок поставить префикс ”[FIX]” или тот что вы сами указали в плагине TTK_FixPicture. Должно получится то, что изображено на Скриншот 7.
Возвращаемся в RPG Maker MV. И подготавливаем необходимые переменные. Скриншот 8. И переключатели. Скриншот 9.
Подключаем 2 плагина. GALV_LayerGraphics и TTK_FixPicture. Скриншот 10 и Скриншот 11.
Наполнение событиями.
Создаем 1 общее событие. Называем Лифт. Старт. И делаем следующий код:
Здесь мы с помощью команд GALV_LayerGraphics выводим необходимые слои. А также картинки худа и названия этажей.
Команда выглядит следующим образом:
LAYER MAPID ID GRAPHIC XSPEED YSPEED OPACITY Z XSHIFT YSHIFT BLEND
MAPID – ИД нашей карты.
ID – ИД слоя к которому мы будем обращаться. Любое число. Лично я пронумеровал по порядку.
GRAPHIC – Имя картинки в папке layers.
XSPEED, YSPEED – Скорость движения по X и по Y. Измеряется в пикселях за 1 кадр.
OPACITY – Прозрачность слоя.
Z – Позиция относительно уровня слоев игры. Отрицательные значения означают что выводится будут под тайлами.
XSHIFT, YSHIFT – Что-то связана со скоростью движения относительно ходьбе игрока. В данном случае поставить 0.
BLEND – Стиль вывода. Тоже поставить 0. Как вы, наверное, заметили мы не можем управлять позицией слоя. Данный вид слоя работает как Параллакс в RPG Maker MV только с гораздо большим функционалом. Однако мы знаем, что скорость движения слоя измеряется в пикселях за 1 кадр. Следовательно, для слоя параллакса с номерами этажей выставляем скорость по Y в зависимости от номера этажа в переменной Elevator_FLOOR. Отрицательное значение будет двигать слой вверх. А положительное вниз.
Создаем 2 общее событие. Называем ИД Регион. И делаем следующий код:
◆Переменная:#0027 X_MAP = Х карты из Игрок
◆Переменная:#0028 Y_MAP = Y карты из Игрок
◆Получить данные о клетке:ID Region, Номер региона,({X_MAP},{Y_MAP})
Здесь мы получаем номер региона под игроком. Это понадобится нам в будущем.
Создаем 3 общее событие. Называем Лифт. Движение. И делаем следующий код:
Здесь мы создаем само движение наших слоев тем самым делаем эффект как будто бы наш интерьер лифта движется.
В переменной Elevator_FLOOR мы храним номер этажа, на котором находимся. В моем случае начиная с 0. 0 – 1 этаж. 1 – 2 этаж. И т.д.
В переменной Elevator_FLOOR_NEW мы храним номер этажа, на который нам надо ехать.
Для эффекта езды делам среднюю тряску экрана.
Создаем 4 общее событие. Называем Лифт. Конец. И делаем следующий код:
Здесь мы просто открываем двери лифта и переносим игрока в наш интерьер лифта.
Возвращаемся к интерьеру лифта. Очищаем все ненужное. Создаем 3 события: Стартовое, двери лифта, панель с выбором этажа для перемещения. Под дверь ставим номер региона. В моем случае 1.
В событии “Стартовое” выполняем следующий код:
◆Переключатель:#0041 Elevator Dopor = ВКЛ
◆Общее событие:Elevator: start
◆Проявить экран
◆Общее событие:ID Region
◆Если:ID Region =1
◆Изменить прозрачность:ВЫКЛ
◆Маршрут:Игрок (Ждать)
: :◇Проходимость: ВКЛ
: :◇Шаг: вниз
: :◇Шаг: вниз
: :◇Поворот: вверх
: :◇Проходимость ВЫКЛ
◆
:Конец
◆Удалить событие
В данном случае мы вызываем наше 1 общее событие (в котором выводятся слои, выводятся картинки худа и номеров этажей) и делаем выход игрока из двери.
Elevator: start – Вызов 1 общего события.
ID Region – Вызов 2 общего события.
В событии “двери лифта” создаем 2 страницы. В 1 закрытые двери. Во 2 открытые на переключатель созданный ранее. выполняем следующий код на 2 странице:
◆Общее событие:Elevator: clear
Здесь мы вызываем 4 общее событие.
В событии “панель с выбором этажа для перемещения” создаем 3 страницы. Для второй ставим Локальный переключатель A, Для третей ставим Локальный переключатель B. И выполняем следующий код.
В данном проекте можно найти также куча других примеров. Однако то что относится к этому уроку находится на карте: "Интерьер Лифта" и сгруппированные с ней.
Всё выглядит очень интересно, хотя по мне и многовато текста, мне всегда легче было воспрнимать информацию наглядно, это хорошо, что к уроку есть демка, но ссылка на её скачивание не работает(
Точно не знаю, какой это мейкер, но молю скажи, что это не асе, пожалуйста, ненавижу асе.
Последнее редактирование: 3 года 2 нед. назад от nirion.
Администратор запретил публиковать записи гостям.
Создания Лифта в RPG Maker MV
3 года 2 нед. назад #125281
Всё выглядит очень интересно, хотя по мне и многовато текста, мне всегда легче было воспрнимать информацию наглядно, это хорошо, что к уроку есть демка, но ссылка на её скачивание не работает(
Точно не знаю, какой это мейкер, но молю скажи, что это не асе, пожалуйста, ненавижу асе.
Добавил вторую ссылку. Извиняюсь конечно за Google диск но на Яндекс диск я долговечно ссылку на скачивания хранить не смогу из за очень малого места на нем. Только на mega и Google.
Я смог сделать демо по уроку, там в общем событии, когда лифт открыт при переходе на другой этаж не нужно герою ставить прозрачность, интересный урок было сложно понять, как там всё работает сейчас запакую и отправлю демо.