[VX Ace] Event Move Speed
Итак по просьбе многоуважаемого Котè (он же PanzerCat) удалось выдушить из меня пару строк на ruby, а именно скрипт — «Event Move Speed»
Как ясно из названия данный скрипт позволяет задать для отдельно взятого события(event) на карте произвольную скорость перемещения. В частности Котè хотел что бы ивент буквально ползал по карте. К сожалению стандартными средствами этот вопрос было не решить, ибо скорость перемещения оставалась всё ровно очень большая.
Скрипт просто до безобразия. Создаём необходимый нам event, прописываем в первой строчке комментарий вида <speed: NN> где NN число с плавающей точкой. Значение 0 стандартная скорость перемещения (с учётом настроек). Если задать число меньше нуля скорость будет падать. Подобрать можно экспериментальным путём, например -1.5 или даже -3.5 даёт вполне ползающую тушку. Если значение увеличить (вдруг кому надо) ивент будет летать
Дабы персонаж не спотыкался на каждом шаге в обязательно порядке надо установить частоту обновления (Freq:) на максимальное значение.
Скрипт доступен как всегда на GitHub .
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Теперь помимо скорости перемещения, можно задать задержку для кадров анимации, с помощью команды <nextframe: NN> где NN число которое будет прибавляться для смены следующего кадра. По умолчанию оно равно 1, но если например задать значение 0.1:
то мышка будет ну ооооочень медленно махать крыльями.
Обновлённая версия, всё там же на GitHub .
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Первое - лучше прописывать сетеры/гетеры через attr_reader и attr_accessor. Первое само расписывает геттеры, второе расписывает геттер и сеттер. То бишь
Второе - для блоков кода существует 2 нотации: {|| } и do || end. Первый используют, если код помещается в одну строку, второй если строк несколько.
Дальше я просто умничать буду. Есть unless модификатор, который работает так же, как и if, только условие не должно выполняться.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Amphilohiy пишет: Первое - лучше прописывать сетеры/гетеры через attr_reader и attr_accessor. Первое само расписывает геттеры, второе расписывает геттер и сеттер. То бишь
Code:class Game_CharacterBase attr_accessor :event_speed end
Я правильно понимаю, что после объявления:
Я смогу установить event_speed обратившись как e.event_speed = 123, вместо того что бы вызывать свой set_event_speed(123)?
По поводу each и list это просто пример из чужого кода обработки комментариев
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Да, все верноMur пишет: Я правильно понимаю, что после объявления:
Code:attr_accessor :event_speed
Я смогу установить event_speed обратившись как e.event_speed = 123, вместо того что бы вызывать свой set_event_speed(123)?
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Так что качаем свежую «конфетку» всё так же на GitHub .
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
В регекспе точку, которая любой символ, лучше заменить на [\d\.] и проверить на длину $1, чтоб потом не искать ошибку, если случайно значение после двоеточия стёр или вписал левый символ.
Остальное по-мелочам для упрощения структуры кода, писать не буду, ато тут обычно такое не любят.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Lekste пишет: В регекспе точку, которая любой символ, лучше заменить на [\d\.]
Эмм,… я конечно не специалист,… но меня терзают смутные сомнения, а сработает ли твоё \d на отрицательное число? а на число с точкой?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
А ещё лучше так: \-?\d+(?
.\d*)?А для номера кадра минус не нужен, т.к. кадр не бывает отрицательным
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Lekste пишет: А ещё лучше так: \-?\d+(?
.\d*)?
Ну не знаю. Я подумаю. Спасиб.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
