[XP]Параллакс - Попиксельное смещение для ивентов

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
12 года 11 мес. назад - 11 года 2 мес. назад #60612 от DeadElf79
[XP]Параллакс - Попиксельное смещение для ивентов

Предыстория:
Однажды мне захотелось, чтобы игрок запрыгнул на бочку из стандартного тайлсета. Сделал бочку, сделал событие, в котором персонаж запрыгивал и... тут понял, что ничего не получается! Персонаж запрыгивал и вставал либо над бочкой, либо рядом с ней, как я ни пробовал, как ни старался, ничего не получалось.
Решение пришло ко мне быстро и оно было самым простым - изменить тайлсет и бочку в ней.
Чуть позже, понаменяв кучу объектов, на которые я хотел бы запрыгнуть, мне подумалось, что самое просто решение - не самое лучшее. И тогда я начал писать этот скрипт.

Описание:
Скрипт позволяет сместить ивент с помощью комментариев на указанное количество пикселей.
Также, можно сместить ивент еще и с помощью команды вызова скрипта.

Использование:
Комментарии:
Смещение как по X, так и по Y пишем в одну строку комментария.
Примеры:
Code:
[ox+13]
- смещает ивент на 13 пикселей вправо
Code:
[oy+48]
- смещает на 48 пикселей вниз
Code:
[oy+14][ox+27]
- смещает на 14 вправо и 27 вниз

Вызов скрипта:
Code:
@event=$game_map.events[номер_ивента] @event.moveto(@event.x,@event.y,смещение_x,смещение_y)
Номер_ивента - номер события, для которого нужно выполнить смещение.
Смещение_X - значение, на которое происходит смещение по X от начальной позиции
Смещение_Y - значение, на которое происходит смещение по Y от начальной позиции

Ограничения:
  • [strike]Можно смещать событие только в сторону увеличения, то есть можно ox+16, но нельзя ox-16[/strike] Исправлено, скрипт обновлен
  • К сожалению, пока нет смещения для области столкновения, при смещении ивент становится только проходимым. Попробую исправить в ближайшее время.
Собственно, скрипт:
ВНИМАНИЕ: Спойлер!
Последнее редактирование: 11 года 2 мес. назад пользователем DeadElf79.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

2 место Готв Писатель 2 место 3 место Победитель конкурса Организатор конкурсов
Больше
12 года 11 мес. назад - 12 года 11 мес. назад #60613 от Agckuu_Coceg
Эльф, мой тебе совет: познавай гугл-фу. Многие проблемы решает его познание.

XP код...
ВНИМАНИЕ: Спойлер!


VX код...
ВНИМАНИЕ: Спойлер!


Вызывается кодом: evmove(x-offset, y-offset, [id]) или просто параллельным: evmove(x-offset, y-offset)
Работает в обоих направлениях.

Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.
Последнее редактирование: 12 года 11 мес. назад пользователем Agckuu_Coceg.
Спасибо сказали: DeadElf79

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
12 года 11 мес. назад - 12 года 11 мес. назад #60614 от DeadElf79
Спасибо.
Ладно, я рад, что сам решение нашел, пусть и с ограничениями)) А то, что не всегда и не во всем гугл использую - тут уж меня прошу простить))

К тому же, темы на форуме вроде не было, так что мало ли, кому еще пригодится. :whistle:

Кстати, мне кажется или два примера кода одинаковы?)
Последнее редактирование: 12 года 11 мес. назад пользователем DeadElf79.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 11 мес. назад #60615 от strelokhalfer
Вниз нельзя, да? Жаль, поправишь, надеюсь.

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
12 года 11 мес. назад - 12 года 11 мес. назад #60616 от DeadElf79
Стрелок, можно только вниз и вправо. Но мне кажется, таким образом при попиксельном размещении можно и так довольно точно подогнать)

Отредактировал первый пост, добавил пояснений к примерам.
Последнее редактирование: 12 года 11 мес. назад пользователем DeadElf79.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

2 место Готв Писатель 2 место 3 место Победитель конкурса Организатор конкурсов
Больше
12 года 11 мес. назад #60617 от Agckuu_Coceg
Оу, они и правда идентичны. Просто я выдирал их из двух разных проектов.
Ну, собственно ты можешь взглянуть в эти примеры и подправить свою версию, благо код работает во всех направлениях.

Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
12 года 11 мес. назад #60618 от DeadElf79
Так, с этим кодом мне придется дорабатывать еще немного больше - после его использования пропадает любая непроходимость ивента. По крайней мере, при смещении на 3,3 пропала совсем.
Еще подумаю над этим.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
12 года 11 мес. назад #60619 от strelokhalfer
Да, перепутал, координация в мейкере странная все же)
Жаль скрипт на xp, но я видел подобное и на ace

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
12 года 11 мес. назад #60620 от DeadElf79
Это не только в мейкере, это вообще во всем компьютерном)) Как завершу работу со столкновениями, скрипт на эйс будет портирован, не волнуйся)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.098 секунд
Работает на Kunena форум