Каждая задача, необходимая для создания, обновления и отображения контента,
разбита на свой собственный компонент.
Это не только делает код более чистым, но и обеспечивает большую расширяемость.
Кроме того, с помощью инструмента [PixiJS Customize tool](https://pixijs.io/customize/)
можно создать пользовательский файл PixiJS, содержащий только подмножество функций,
необходимых вашему проекту, экономя размер загрузки.
Вот список основных компонентов, из которых состоит PixiJS.
Обратите внимание, что этот список не является исчерпывающим.
## Основные компоненты
| Компонент | Описание |
| -- | -- |
| Renderer `@pixi/core` | Ядром системы PixiJS является средство визуализации, которое выводит изображение на экран. Средство визуализации по умолчанию для PixiJS WebGL. |
| Container `@pixi/display` | Основной отображаемый объект, который содержит: дерево отображаемых объектов: спрайты, графика и текст. |
| Loader `@pixi/loader` | Система для асинхронной загрузки ресурсов, таких как изображения и аудиофайлы. |
| Ticker `@pixi/ticker` | Логика обновления игры, как правило, будет выполняться один раз за кадр. Вы можете использовать несколько тикеров одновременно. |
| Application `@pixi/app` | Представляет собой простой помощник, который объединяет загрузчик, тикер и средство визуализации в единый удобный простой в использовании объект. Отлично подходит для быстрого начала работы, создания прототипов и создания простых проектов. |
| Interaction `@pixi/interaction` | PixiJS поддерживает как сенсорное взаимодействие, так и взаимодействие с помощью мыши - делает объекты кликабельными, запускает события наведения курсора и т.д. |
| Accessibility `@pixi/accessibility` | Богатый набор инструментов для обеспечения доступа к клавиатуре и программе чтения с экрана. |
Класс [Container](https://pixijs.download/release/docs/PIXI.Container.html)
предоставляет простой отображаемый объект, который выполняет то,
что подразумевает его название - собирает дочерние объекты вместе.
Но помимо группировки объектов, у контейнеров есть несколько применений,
о которых вы должны знать.
## Контейнеры как группы
Почти все типы отображаемых объектов являются производными от контейнера - даже спрайты!
Это означает, что во многих случаях можно создать иерархию «родитель-потомок» с объектами,
которые вы хотите отобразить.
## Маскировка
Другое распространенное применение объектов-контейнеров - это замаскировка содержимого. Маскировка - это метод, при котором части вашей сцены видны только в пределах заданной области.
Например всплывающее окне. Оно имеет рамку, состоящую из одного или нескольких спрайтов
и имеет прокручиваемую область.
Контейнер плюс маска упрощают реализацию этой прокручиваемой области.
PixiJS поддерживает два типа масок:
- Можно использовать графический объект для создания маски произвольной формы.
Тип мощный, но не поддерживает сглаживание.
- Спрайт: используется альфа-канал из спрайта в качестве маски, обеспечивая сглаженную окантовку, но не поддерживается в Canvas.