В этой статье покажу как добавить линию (Line2D) в сцену через код. А так же накинуть на неё такие ресурсы как градиент и кривую.
Код сцены:
Линия рисуется, теперь можно приступить к её модификации.
Насчем с градиента.
Напомню, что это ресурс. Поэтому на необходимо сначала его создать.
Далее применим его на свойство gradient нашей линии .
Если мы запустим сейчас проект, то увидим дефолтный черно белый градиент на нашей линии.
Давайте изменим цвета градиента :
Тут всё в принципе просто - берем точку с индексом и назначаем ей цвет.
Так как у нас точек всего две - то левая это 0 , правая это 1.
Добавить новую точку можно через метод add_point()
Тут важны три момента.
1) Точка добавляется с конца линии.
2) Первый аргумент это сдвиг по линии в диапазоне 0-1. Т.е мы по сути вставили новую точку между первыми двумя и дали ей синий цвет.
3) Порядковый номер будет изменен. В нашем случае новая точка получит индекс 1 , а крайняя справа изменит на 2.
Для наглядности - накинем желтый цвет точке с индексом 1 , и увидим как синий цвет изменился
Сдвинуть какую либо точку можно через метод set_offset()
КРИВАЯ.
С кривой ситуация схожа. Добавляем ресурс, и назначем на параметр width_curve.
Но в отличии от градиента , в кривой дефолтные значения равны нулю.
И если вы запустите сейчас проект, то не увидите ничего.
Нам надо добавить две точки, который будут формировать кривую.
Добавляем метод add_point. И в нем пишем координаты точек.
Линия должна стать вот такой :
Что тут происходит.
Самый важный параметр тут это вектор - расположение точки на координатной сетке кривой. Визуально это выглядит так :
Остальные четыре аргумента определяют тангенс (tangent) кривой.
Если кто то не в курсе (опять же для визуального примера) - это такая штука определяющая под каким углом из точки выходит кривая:
Для закрепления информации, добавим новую точку, сделаем её шире и изменим параметры старых.
Результат :
На этом всё.
Подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !