Для начала работы с Paper.js необходимо подключить библиотеку к HTML-документу. Существует два основных способа: через CDN и локально.
Через CDN:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.13.15/paper-full.min.js"></script>
Локальное подключение: Скачанный файл
paper-full.min.js помещается в папку проекта, после чего
подключается аналогично:
<script type="text/javascript" src="js/paper-full.min.js"></script>
Для инициализации Paper.js используется тег
<canvas> и атрибут
data-paper-script:
<canvas id="myCanvas" resize></canvas>
<script type="text/paperscript" canvas="myCanvas">
var circle = new Path.Circle({
center: [100, 100],
radius: 50,
fillColor: 'red'
});
</script>
Вариант с использованием чистого JavaScript через
paper.setup() позволяет управлять холстом программно:
paper.setup(document.getElementById('myCanvas'));
var circle = new paper.Path.Circle(new paper.Point(100, 100), 50);
circle.fillColor = 'blue';
paper.view.draw();
Отладка скриптов Paper.js отличается от стандартного JavaScript из-за особенностей PaperScript.
console.log(circle); // Path.Circle
console.log(circle.position); // Point { x: 100, y: 100 }
paper.view.onFrame. Для
отладки можно ставить точки останова в функциях onFrame или
в пользовательских обработчиках событий:paper.view.onFr ame = function(event) {
circle.rotate(1);
debugger; // Вставка точки останова
};
При остановке выполнения в DevTools появляется возможность изучить текущее состояние объектов, их свойства и методы.
<canvas> можно инспектировать с точки зрения DOM, но
визуальные элементы Paper.js доступны только через JavaScript API.
Полезно использовать вкладку Console для вывода текущих
Path, Layer, Group и их
координат:paper.project.activeLayer.children.forEach(function(item){
console.log(item.name, item.bounds);
});
Paper.js использует метод onFrame для создания плавных
анимаций:
paper.view.onFr ame = function(event) {
circle.rotate(2); // вращение круга
circle.position.x += 1; // движение по оси X
};
Отладка анимаций через DevTools:
paper.view.pause()paper.view.play()circle.fillColor = 'green';
circle.scale(1.1);
Эти возможности позволяют динамически проверять эффекты изменений без перезапуска страницы.
Chrome DevTools предоставляет мощные средства профилирования, полезные при сложных визуализациях:
onFrame и загрузки GPU.console.log(paper.view.size); // Размер холста
console.log(paper.project.layers); // Слои проекта
Если проект написан на TypeScript или компилируется с Babel,
подключение Source Maps помогает видеть исходный код при отладке в
DevTools. Для PaperScript обычно используют обычный JavaScript с
paper.setup() и встроенным Canvas, что делает Source Maps
необязательными, но полезными при сложных архитектурах с модульной
структурой.
var dot = new Path.Circle(circle.position, 5);
dot.fillColor = 'yellow';
getEventListeners(circle);
circle.bringToFront();
paper.project.activeLayer.sendToBack();
var snapshot = circle.clone();
snapshot.fillColor = 'rgba(0,0,0,0.1)';
Эти техники позволяют глубоко анализировать поведение Paper.js в режиме реального времени, контролировать анимации, слои и отдельные объекты, делая Chrome DevTools незаменимым инструментом при работе с библиотекой.