Для работы с Two.js первым шагом является инициализация экземпляра библиотеки. Основной класс Two принимает объект настроек, которые определяют способ рендеринга, размер холста и режим работы с DOM-элементами. Синтаксис выглядит следующим образом:
const two = new Two({
width: 800,
height: 600,
type: Two.Types.svg, // Возможные значения: svg, canvas, webgl
autostart: true
}).appendTo(document.body);
svg,
canvas или webgl. Выбор типа влияет на
производительность и доступные возможности (например, SVG обеспечивает
высокое качество при масштабировании, WebGL — аппаратное
ускорение).false, для запуска необходимо
вызвать метод two.play() вручную.Two.js позволяет тонко настраивать визуальное представление:
true, холст
растягивается на весь экран, игнорируя width и height.<canvas> или <svg>.Пример:
const container = document.getElementById('canvas-container');
const two = new Two({
width: 1024,
height: 768,
type: Two.Types.webgl,
ratio: window.devicePixelRatio,
domElement: container
});
two.appendTo(container);
Two.js строит сцену из объектов типа Group,
Shape и Path. При инициализации
экземпляра Two создаётся пустая сцена, к которой можно добавлять
графические элементы. Анимация в Two.js работает через цикл рендеринга,
управляемый методом two.update():
Также можно использовать событие update для создания
интерактивных эффектов:
two.bind('update', function(frameCount) {
// frameCount — количество кадров с момента старта
});
Фон холста задаётся через объект renderer экземпляра
Two:
two.renderer.setClearColor(0x000000, 1.0); // черный фон с полной непрозрачностью
Размер холста можно динамически изменять после инициализации:
two.width = 1200;
two.height = 800;
two.update();
При изменении размеров рекомендуется учитывать сохранение пропорций объектов и их центрирование.
Для SVG доступны следующие опции:
Для WebGL:
Two.js поддерживает передачу всех параметров через единый объект, что облегчает организацию кода:
const config = {
width: 800,
height: 600,
type: Two.Types.canvas,
autostart: true,
fullscreen: false,
ratio: window.devicePixelRatio
};
const two = new Two(config).appendTo(document.body);
Такой подход позволяет централизованно управлять настройками и легко изменять параметры при необходимости, без правки нескольких частей кода.
Two.js не ограничивается автоматическим созданием
<canvas> или <svg>: можно
использовать существующие элементы страницы. Метод
appendTo() принимает любой DOM-узел, что удобно для
интеграции в сложные интерфейсы:
const container = document.querySelector('#myCanvasContainer');
two.appendTo(container);
Если требуется полностью управлять элементом, можно передать его в
параметр domElement на этапе инициализации. Это позволяет
использовать CSS для позиционирования, а также применять эффекты
трансформации и анимации.
two.update() и события update,
чтобы оптимизировать производительность.Эти параметры и настройки инициализации формируют основу работы с Two.js, обеспечивая гибкость и контроль над графической сценой, рендерингом и анимацией.