Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Tile Swap(Замена тайлов)

Tile Swap(Замена тайлов) 10 года 8 мес. назад #63785

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • 2 место Сбитая кодировкаПрограммист RubyДаритель СтимкеяПереводчикОрганизатор конкурсов2 место
Представляю вам один, несомненно интересный скрипт под названием
Tile Swap

Он позволяет менять тайлы посредством вызова скрипта в событии.

Но для начала немного ТЕОРИИ

Тайлсеты в Ace

Тайлсеты в RMVX Ace разделяются на пять категорий, а именно A, B, C, D, E.
В свою очередь, "А" подразделяется ещё на пять категорий: А1, А2, А3, А4, А5.

Слои в Ace

Может принимать значения от 0 до 2.
0 - нижний слой, 2 - верхний слой.
Тайлсеты "A1", "A2", "A3", и "A4" располагаются на слоях 0 и 1, а "A5", "B", "C", "D", и "E" соответственно на 2.
[Прим.переводчика]
Я не понял логики работы слоя в скриптах, то не надо указывать, то надо гадать, какую цифру поставить.
Возможно с 1 по 4 столбец это нулевой слой, а с 5 по 8 соответственно первый слой.
Указывать надо, если тайлы из разных слоев(указывать слой на котором меняют)


Как рассчитать tileID?

Этот скрипт использует понятие "tile ID", оно определяет тайл в
вашем тайлсете.

Каждый tile ID начинается с буквы, далее идет номер.
Буквы указывают на раздела тайлсета, а именно(можно строчными):

A, B, C, D, E

Номер означает позицию тайла в тайлсете.
Для примера, "A1" означает первый файл в тайлсете A, а
"B12" означает двенадцатый тайл в тайлсете B.

Узнать номер ID очень легко: просто считаем с права-на-лево.

Пример:

1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
и так далее.

Лично я использую(переводчик) формулу, так как иногда считать не удобно.
((x-1)*8)+y
"x" - номер ряда
"y" - номер столбца
Пример: На тайлстете "Карта мира" ищем id облака
((2-1)*8)+8=16 {Хотя посчитать вручную было проще, но это же пример!}


Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.

Собственно сам код [ Нажмите, чтобы развернуть ]
Как всегда, дэмо прилагается.

Ссылка на демо - Архив ZIP 1.4мб
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 9 года 1 мес. назад от strelokhalfer.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: AnnTenna, DK, caveman, Демий, poca, Doctor_Bug

Tile Swap(Замена тайлов) 10 года 8 мес. назад #63786

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • 2 место Сбитая кодировкаПрограммист RubyДаритель СтимкеяПереводчикОрганизатор конкурсов2 место
Что то подобное делал для XP Пещерник. ТЫЦ
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 10 года 8 мес. назад от strelokhalfer.
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 10 года 8 мес. назад #63787

  • caveman
  • caveman аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1274
  • Спасибо получено: 1307
  • Проект года 1 место2 место ГотвПроект года 3 местоПроект месяца 1 местоОраторУчительВетеранПроект месяца 2 местоРазработчикОрганизатор конкурсов
О, партийное задание выполнено :)
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 10 года 8 мес. назад #63789

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Писатель 3 местоОрганизатор конкурсовПроект месяца 1 местоПрограммист RubyВетеранУчитель3 местоПроект месяца 2 место1 место в Готв
Э... А можно тексты (не заголовки) с середины сдвинуть в нормальный вид - влево. Читать неудобно, на половину объяснения хватило терпения))
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 10 года 8 мес. назад #63792

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • Программист JavaScript Проект месяца 1 местоПисатель 3 местоПроект месяца 2 место3 местоПобедитель Сбитой кодировкиПроект месяца 3 местоОрганизатор конкурсов2 место Сбитая кодировка3 место Готв
Доставлено :)
Жуть болотная, на лапках, в тапках и с пулемётом...
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 10 года 8 мес. назад #63796

  • Демий
  • Демий аватар
  • Вне сайта
  • Модератор
  • Здесь могла быть ваша реклама
  • Сообщений: 1599
  • Спасибо получено: 1520
  • 1 место в ГотвПисатель 2 место3 местоРазработчикУчительВетеран3 место ГотвТестер
Большое спасибо! Это как раз то что я так давно искал!
Осталось только пиксельарту научиться...
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 9 года 1 мес. назад #78994

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • 2 место Сбитая кодировкаПрограммист RubyДаритель СтимкеяПереводчикОрганизатор конкурсов2 место
Обновил скрипт и демо до актуальной версии.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 9 года 1 мес. назад #78995

  • Sypherot
  • Sypherot аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1239
  • Спасибо получено: 1044
  • Паладин2 место Готв2 место Проект месяца 1 местоОраторПроект месяца 3 местоЗа 3 место на конкурсе маппингаПроект месяца 2 местоДаритель Стимкея
strelokhalfer пишет:
Обновил скрипт и демо до актуальной версии.
При попытке "вернуть озеро" вылетает с ошибкой.
Всего хорошего, и спасибо за рыбу
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 9 года 1 мес. назад #78996

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • 2 место Сбитая кодировкаПрограммист RubyДаритель СтимкеяПереводчикОрганизатор конкурсов2 место
Там походу кириллические буквы остались с прошлой версии.
И вновь продолжается бой перезалив, исправил демку.
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 9 года 1 мес. назад от strelokhalfer.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Blacklst

Tile Swap(Замена тайлов) 9 года 1 мес. назад #79124

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • УчительДаритель СтимкеяПроект месяца 1 местоОраторРазработчикПроект месяца 2 местоПаладинВетеран2 место Программист JavaScript
Классный скрипт. Попробую как-нибудь к своей погоде прикрутить.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: strelokhalfer

Tile Swap(Замена тайлов) 9 года 1 мес. назад #79125

  • strelokhalfer
  • strelokhalfer аватар
  • Вне сайта
  • Архитектор Миров
  • Знатный грамотей
  • Сообщений: 1640
  • Спасибо получено: 1078
  • 2 место Сбитая кодировкаПрограммист RubyДаритель СтимкеяПереводчикОрганизатор конкурсов2 место
Ну сделать то не так трудно, проверить, импортирован ли скрипт и менять по тайлИД
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 9 года 1 мес. назад #79136

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • УчительДаритель СтимкеяПроект месяца 1 местоОраторРазработчикПроект месяца 2 местоПаладинВетеран2 место Программист JavaScript
Ну там надо настроить, чтобы можно было указать, что считать зимой/весной и т.д.
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 9 года 3 нед. назад #79528

  • peter8031983
  • peter8031983 аватар
  • Вне сайта
  • Просветлённый
  • Добро-вещь относительная.
  • Сообщений: 469
  • Спасибо получено: 662
  • Проект года 3 место1 место в ГотвКоммерсант3 место ГотвПроект месяца 3 местоРазработчик2 место Проект месяца 1 местоУчительПроект месяца 2 место
Делал для Нейтралки.
Думаю здесь лишним не будет.
Демо-Версия:
yadi.sk/d/usZsPw7lfauCu
Администратор запретил публиковать записи гостям.

Tile Swap(Замена тайлов) 4 года 3 мес. назад #114814

  • Doctor_Bug
  • Doctor_Bug аватар
  • Вне сайта
  • Светлый дракон
  • Из горизонта события! ▪_■
  • Сообщений: 568
  • Спасибо получено: 880
  • Проект месяца 1 место3 место3 место в КодировкеПроект месяца 3 местоВетеранПрограммист Ruby
Ребят я добавил два почти одинаковых функционала. Короче функции заливают новыми тайлами указанное пространство (без указаний регионов)
1. square_swap(x, y, width, height, tileID, layer, map_id) - где width и height - ширина и высота указанного квадрата заполнения тайлами
2. fill_swap(x1, y1, x2, y2, tileID, layer, map_id) - где x1, y1, это верхний левый угол координат, а x2, y2 - правый нижний угол координат заливки новых тайлов.

Отличие их только в удобстве использования.

Тутц_Баг

Баг изучает Godot Engine. А слушает эту музыку ~~> Мое сердце
Последнее редактирование: 4 года 3 мес. назад от Doctor_Bug.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: NeKotZima
Модераторы: NeKotZima
Время создания страницы: 0.321 секунд