В этой статье будем создавать и удалять тайлы при помощи клика мышкой !
Закидываем в сцену таилмап, навешиваем текстуры и настраиваем таилы.
Скрипт я подключил на родительскую ноду (корневая нода сцены), вы конечно же можете подключать куда пожелаете.
Так как создание и удаление тайлов у меня завязано на левую и правую кнопку мышки соответственно, то я заранее внес эти кнопки в input map как rb и lb.
Код.
Использовать будем два метода : world_to_map и set_cell.
Первый переводит координаты тайлов в локальные. Т.е если у нас таилы размерами 16х16, то в точке экрана с координатами 32,0 мы получим 2,0, второй метод устанавливает новые параметры для тайла. (конкретной ячейки таилмапа)
Так как мы используем для манипуляции с тайлами мышку, то первое что нам надо сделать — получить глобальные позиции курсора. Затем перевести эти координаты в координаты тайлов. И уже по этим данным обращаться непосредственно к ним.
Метод set_cell устанавливает новый индекс выбранному тайлу, и в качестве аргументов принимает кучу всего, но важны для нас только первые три — это позиции и индекс тайла.
В нашем случае в качестве индекса мы подаем -1 , это означает что тайл просто очищается.
Для создания тайла используем соседний метод set_cellv, который в качестве аргумента принимает уже вектор для позиции и индекс для созданного тайла.
(Само собой , Вы можете использовать и предыдущий метод. В этом нет ничего критичного.)
Вот , в общем и целом всё выглядит как то так.
Надеюсь вам был полезен этот материал.
Подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !
#godot #gdscript #игровой движок #уроки #программирование