kaboom/index.js
2023-02-03 21:37:15 +01:00

49 lines
1,000 B
JavaScript

// module aliases
let Engine = Matter.Engine,
Render = Matter.Render,
Runner = Matter.Runner,
Bodies = Matter.Bodies,
Composite = Matter.Composite;
// create an engine
let engine = Engine.create();
// create a renderer
let render = Render.create({
element: document.body,
engine: engine,
});
function kaboom() {
let manyShapes = new Array(300)
.fill()
.map(() =>
Bodies.polygon(
Math.random() * 450 + 1,
Math.random() * 450 + 1,
Math.random() * 16 + 1,
Math.random() * 80 + 1
)
);
generateWorld(manyShapes);
}
function addShape() {
// to be continued
}
function generateWorld(shapes) {
// add all of the bodies to the world
let ground = Bodies.rectangle(400, 610, 810, 60, { isStatic: true });
Composite.add(engine.world, [...shapes, ground]);
// run the renderer
Render.run(render);
// create runner
let runner = Runner.create();
// run the engine
Runner.run(runner, engine);
Composite.clear();
}