Миничат

poca 5 ч. не кикает больше часа. зер гут
poca 7 ч. было-бы неплохо, да
poca 7 ч. авто-бан за 10 повторений
poca 7 ч. придётся
poca 7 ч. банить
poca 7 ч. фсаперов
poca 7 ч. вручную
poca 7 ч. то
poca 7 ч. а
poca 7 ч. надо
poca 7 ч. прикрутить
poca 7 ч. фильтр
poca 7 ч. -
poca 7 ч. спам
poca 7 ч. но
poca 7 ч. работу
poca 7 ч. проделанную
poca 7 ч. за
poca 7 ч. большое
poca 7 ч. большое

"Разлом" карты

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
12 года 10 мес. назад - 12 года 10 мес. назад #61234 от Cerberus
Cerberus создал тему: "Разлом" карты
Всё-таки иногда я скучаю по "красивостям" старого доброго RM2k3. Например, там было множество возможностей красиво перенестись с карты на карту - а иногда и не только красиво, но ещё и со смыслом. Например - показать, что "земля развёрзлась под ногами", разломив карту на четыре части.
В RMVXA такого, к сожалению, не предусмотрено. Но - мы и сами с усами!
Code:
=begin Скрипт перемещения с анимацией "деления карты на четыре части" Автор: Cerberus =end module Division @map_bitmap = nil @trans_sprite = nil @trans_viewport = nil @turn = -1 @tr_rect = Rect.new @black = Color.new(0, 0, 0, 255) @divided = false def self.start @map_bitmap = Graphics.snap_to_bitmap @trans_viewport = Viewport.new(0, 0, 544, 416) @trans_sprite = Sprite.new(@trans_viewport) @turn = 52 @trans_sprite.bitmap = Bitmap.new(544, 416) @trans_sprite.bitmap.blt(0, 0, @map_bitmap, @tr_rect); @trans_sprite.x = 0 @trans_sprite.y = 0 @trans_sprite.z = 1000 @trans_viewport.z = 1000 @trans_sprite.visible = true @trans_viewport.visible = true end def self.turn @turn end def self.divided @divided end def self.divided= (val) @divided=val end def self.update print "Updating division... ", @turn, " " stop if (turn==0) shift if (turn>0) end def self.shift print "Shifting... " @tr_rect.set(@trans_viewport.rect.width / 2 - 4, 0, 8, @trans_viewport.rect.height) @map_bitmap.fill_rect(@tr_rect, @black); @tr_rect.set(0, @trans_viewport.rect.height / 2 - 4, @trans_viewport.rect.width, 8) @map_bitmap.fill_rect(@tr_rect, @black); @tr_rect.set(4, 4, @trans_viewport.rect.width / 2 - 4, @trans_viewport.rect.height / 2 - 4) @map_bitmap.blt(0, 0, @trans_sprite.bitmap, @tr_rect) @tr_rect.set(@trans_viewport.rect.width / 2, 4, @trans_viewport.rect.width / 2 - 4, @trans_viewport.rect.height / 2 - 4) @map_bitmap.blt(@trans_viewport.rect.width / 2 + 4, 0, @trans_sprite.bitmap, @tr_rect) @tr_rect.set(4, @trans_viewport.rect.height / 2, @trans_viewport.rect.width / 2 - 4, @trans_viewport.rect.height / 2 - 4) @map_bitmap.blt(0, @trans_viewport.rect.height / 2 + 4, @trans_sprite.bitmap, @tr_rect) @tr_rect.set(@trans_viewport.rect.width / 2, @trans_viewport.rect.height / 2, @trans_viewport.rect.width / 2 - 4, @trans_viewport.rect.height / 2 - 4) @map_bitmap.blt(@trans_viewport.rect.width / 2 + 4, @trans_viewport.rect.height / 2 + 4, @trans_sprite.bitmap, @tr_rect) @tr_rect.set(0, 0, @trans_viewport.rect.width, @trans_viewport.rect.height) @trans_sprite.bitmap.blt(0, 0, @map_bitmap, @tr_rect) @turn-=1 end def self.stop @turn = -1 @divided = true end def self.dispose @map_bitmap.dispose @trans_sprite.bitmap.dispose @trans_sprite.dispose @trans_viewport.dispose @divided = false end end class Scene_Base alias divis_update update def update if Division.turn>=0 Division.update print "Divis.upd ", Division.turn, "\n" end divis_update end end class Game_Interpreter def run wait_for_message while @list[@index] do Fiber.yield while Division.turn>=0 execute_command @index += 1 end Fiber.yield @fiber = nil end alias divis_fadeout command_221 def command_221 if Division.divided screen.start_fadeout (1) Division.dispose else divis_fadeout end end end class Scene_Map < Scene_Base alias divis_pre_transfer pre_transfer def pre_transfer if Division.divided @map_name_window.close Graphics.brightness = 0 $game_temp.fade_type = 0 Division.dispose else divis_pre_transfer end end end
Запускается короткой и простой командой - Division.start.

Демо

Жду критики от матёрых скриптеров, ибо наверняка сделал не оптимально. Но, по крайней мере, пока мне этот скрипт сломать не удалось :)

Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 12 года 10 мес. назад пользователем Cerberus.
Спасибо сказали: alexander85

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

Больше
12 года 10 мес. назад #61235 от KoHcTPyKTop
KoHcTPyKTop ответил в теме "Разлом" карты
а для xp есть?

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

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
12 года 10 мес. назад #61236 от caveman
caveman ответил в теме "Разлом" карты
а я нашел нечто подобное (transitions зовутся) просто евентами с вызовом уже существующих стандартных скриптов
forums.rpgmakerweb.com/index.php?/topic/...nsitionsscreen-wipe/

И для XP, и для аси

осталось подобрать картинку разлома

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

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
12 года 10 мес. назад - 12 года 10 мес. назад #61237 от Cerberus
Cerberus ответил в теме "Разлом" карты
Для XP я, к сожалению, скриптинг пока не осваивал. Мне бы в Эйсе наловчиться :)
caveman, такой метод, если я не ошибаюсь, не позволяет смещать изображение во время перехода. Мой скрипт заточен именно на это.

Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 12 года 10 мес. назад пользователем Cerberus.

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

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
12 года 10 мес. назад #61238 от caveman
caveman ответил в теме "Разлом" карты
поясни, что значит "смещать"?
ЗЫ: я нарисовал картинку (черный прямоугольник с белым крестом посредине), размыл её гауссом и прицепил для перехода. делает почти то же самое, что и твой скрипт (я потестил его, конечно), только наоборот - сходится :)))

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

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
12 года 10 мес. назад #61240 от Cerberus
Cerberus ответил в теме "Разлом" карты
Если тестил - наверное, обратил внимание, что картинка не просто попиксельно исчезает, а движется. Стандартные скрипты этого, кажется, не умеют.

Жуть болотная, на лапках, в тапках и с пулемётом...

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

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
12 года 10 мес. назад #61241 от caveman
caveman ответил в теме "Разлом" карты
понял тебя. неужели 2003й мейкер умел так делать?

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

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
12 года 10 мес. назад #61242 от Cerberus
Cerberus ответил в теме "Разлом" карты
Именно что умел. Причём не только на четыре части, но и пополам (горизонтально и вертикально), и собирать так же. А вот затирать по кускам (а-ля эти самые transitions в более новых версиях) - кажется, нет.

Жуть болотная, на лапках, в тапках и с пулемётом...

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

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
12 года 10 мес. назад - 12 года 10 мес. назад #61243 от caveman
caveman ответил в теме "Разлом" карты
Интересно, что еще мы потеряли? :)
Потестил с переходом на другую карту, все отлично работает.
Хорошо бы, если б была возможность задать число turn в вызове Division.start (52, я полагаю, подобрано просто под размер экрана, а сдвиги там на 4 всегда), и научиться управлять скоростью разлома.

Offtop: замучала эта защита от флуда *facepalm*
Последнее редактирование: 12 года 10 мес. назад пользователем caveman. Причина: я

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

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
12 года 10 мес. назад #61244 от Cerberus
Cerberus ответил в теме "Разлом" карты
Скорее, не turn, а величину сдвига, а turn считать как высота-экрана/(2*величина-сдвига). Обратные расчёты просто не всегда возможно сделать точно.

Жуть болотная, на лапках, в тапках и с пулемётом...

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

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