JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/pixi.js/2.0.0/pixi.js"></script>
JavaScript
var stage = new PIXI.Stage(0x000000);
var renderer = PIXI.autoDetectRenderer(600, 600);
document.body.appendChild(renderer.view);
var container = new PIXI.DisplayObjectContainer();
container.position = new PIXI.Point(300,300);
container.interactive = true;
container.buttonMode = true;
container.mousedown = function () {
container.cacheAsBitmap = !container.cacheAsBitmap;
};
// add some random children
for (i = 0; i < 40; i++) {
var child = new PIXI.Graphics();
child.beginFill(Math.round(Math.random() * 0xFFFFFF));
child.drawRect(0, 0, 100, 100);
child.endFill();
child.position.x = Math.random() * 600 - 300;
child.position.y = Math.random() * 600 - 300;
container.addChild(child);
}
// Create and set a mask rectangle
var maskRect = new PIXI.Graphics();
maskRect.beginFill();
maskRect.drawRect(100, 100, 400, 400);
maskRect.endFill();
stage.addChild(maskRect);
container.mask = maskRect;
stage.addChild(container);
requestAnimFrame(animation);
function animation() {
renderer.render(stage);
requestAnimFrame(animation);
};