48 lines
979 B
JavaScript
48 lines
979 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);
|
|
}
|