В библиотеке PixiJS для создания линий используется
класс Graphics. Этот класс позволяет строить линии и фигуры
с разнообразными стилями и свойствами. Линия в PixiJS — это
последовательность соединённых точек, которые можно стилизовать по
толщине, цвету, прозрачности и типу обводки.
const graphics = new PIXI.Graphics();
После создания объекта Graphics можно задавать стили
линии с помощью метода lineStyle().
Толщина линии определяется первым параметром метода
lineStyle():
graphics.lineStyle(5); // Толщина линии 5 пикселей
graphics.moveTo(50, 50);
graphics.lineTo(200, 50);
Ключевые моменты:
lineStyle().2.5), что создаёт
эффект антиалиасинга.Цвет задаётся вторым параметром lineStyle() и
указывается в формате HEX:
graphics.lineStyle(5, 0xFF0000); // Красная линия
graphics.moveTo(50, 70);
graphics.lineTo(200, 70);
Особенности:
0xRRGGBB).Третий параметр метода lineStyle() отвечает за
прозрачность линии:
graphics.lineStyle(5, 0x00FF00, 0.5); // Полупрозрачная зелёная линия
graphics.moveTo(50, 90);
graphics.lineTo(200, 90);
Важные моменты:
0 (полностью прозрачная) до
1 (полностью непрозрачная).PixiJS позволяет рисовать сложные линии с кривыми и соединёнными
сегментами. Для этого используются методы moveTo() и
lineTo(), а также кривые bezierCurveTo() и
quadraticCurveTo().
graphics.lineStyle(4, 0x0000FF, 0.8);
graphics.moveTo(100, 100);
graphics.lineTo(200, 100);
graphics.lineTo(200, 200);
graphics.lineTo(100, 200);
graphics.closePath();
Особенности:
closePath() соединяет последнюю точку с первой, замыкая
фигуру.beginFill(),
endFill()), создавая контрастные фигуры.Метод lineStyle() поддерживает расширенные опции через
объект:
graphics.lineStyle({
width: 6, // Толщина линии
color: 0xFFA500, // Цвет линии
alpha: 0.7, // Прозрачность
alignment: 0.5, // Центр линии по траектории (0 — внутрь, 1 — наружу)
join: PIXI.LINE_JOIN.ROUND, // Соединение углов: MITER, ROUND, BEVEL
cap: PIXI.LINE_CAP.ROUND // Концы линии: BUTT, ROUND, SQUARE
});
Пояснения:
alignment определяет расположение линии относительно
траектории: внутрь, по центру или наружу.join управляет видом углов при соединении
сегментов.cap задаёт стиль концов линии, влияя на визуальное
завершение каждого сегмента.PixiJS позволяет менять свойства линии в процессе рисования. Для
этого достаточно вызвать lineStyle() с новыми
параметрами:
graphics.moveTo(50, 250);
graphics.lineTo(150, 250);
graphics.lineStyle(8, 0xFF00FF, 1); // Новый стиль
graphics.lineTo(250, 250);
Особенности:
lineStyle() влияет на линии, нарисованные
после него.Graphics, чтобы минимизировать количество draw calls.Graphics может снижать производительность на
слабых устройствах.cacheAsBitmap = true позволяет рендерить
статические линии один раз, а затем отображать их как текстуру.const graphics = new PIXI.Graphics();
// Синяя линия с округлыми углами и концами
graphics.lineStyle({
width: 5,
color: 0x0000FF,
alpha: 0.9,
join: PIXI.LINE_JOIN.ROUND,
cap: PIXI.LINE_CAP.ROUND
});
graphics.moveTo(50, 300);
graphics.lineTo(200, 300);
// Красная линия с квадратными концами
graphics.lineStyle({
width: 3,
color: 0xFF0000,
alpha: 1,
cap: PIXI.LINE_CAP.SQUARE
});
graphics.moveTo(50, 320);
graphics.lineTo(200, 320);
Эти методы обеспечивают полный контроль над визуальным стилем линий, позволяя создавать как простые прямые сегменты, так и сложные, декоративные графические элементы.