clear button

This commit is contained in:
Ayo 2023-02-04 09:15:54 +01:00
parent 8ae8cc9158
commit 24fb6cf560
2 changed files with 34 additions and 9 deletions

View file

@ -14,6 +14,7 @@
<h1>Hello Kahel!</h1> <h1>Hello Kahel!</h1>
<button onclick="kaboom()">Kaboom!</button> <button onclick="kaboom()">Kaboom!</button>
<button onclick="addShape()">Add Shape!</button> <button onclick="addShape()">Add Shape!</button>
<button onclick="clearTheWorld()">Clear the world!</button>
<hr /> <hr />
<br /> <br />
<div id="canvas"></div> <div id="canvas"></div>

View file

@ -6,8 +6,15 @@ let Engine = Matter.Engine,
Composite = Matter.Composite; Composite = Matter.Composite;
// create an engine // create an engine
let engine = Engine.create(); let engine = Engine.create({
timing: {
timeScale: 0.3,
},
});
// create runner
let runner = Runner.create();
let ground = Bodies.rectangle(400, 610, 810, 60, { isStatic: true });
// create a renderer // create a renderer
let render = Render.create({ let render = Render.create({
element: document.getElementById("canvas"), element: document.getElementById("canvas"),
@ -18,6 +25,13 @@ let render = Render.create({
}, },
}); });
generateWorld();
function clearTheWorld() {
Composite.clear(engine.world);
Composite.add(engine.world, ground);
}
function kaboom() { function kaboom() {
let manyShapes = new Array(300) let manyShapes = new Array(300)
.fill() .fill()
@ -30,24 +44,34 @@ function kaboom() {
) )
); );
generateWorld(manyShapes); // add all of the bodies to the world
Composite.add(engine.world, [...manyShapes, ground]);
// run the engine
Runner.run(runner, engine);
} }
function addShape() { function addShape() {
// to be continued // to be continued
// let oneShape = Bodies.circle(80, 80, 80);
let oneShape = Bodies.polygon(
Math.random() * 450 + 1,
Math.random() * 450 + 1,
Math.random() * 12 + 1,
Math.random() * 150 + 100
);
Composite.add(engine.world, oneShape);
// run the engine
Runner.run(runner, engine);
} }
function generateWorld(shapes) { function generateWorld() {
// add all of the bodies to the world Composite.add(engine.world, ground);
let ground = Bodies.rectangle(400, 610, 810, 60, { isStatic: true });
Composite.add(engine.world, [...shapes, ground]);
// run the renderer // run the renderer
Render.run(render); Render.run(render);
// create runner
let runner = Runner.create();
// run the engine // run the engine
Runner.run(runner, engine); Runner.run(runner, engine);
Composite.clear();
} }