count sleeping

This commit is contained in:
2021-05-27 14:51:46 +03:00
parent 33342104e3
commit d71e4ef553
2 changed files with 18 additions and 6 deletions

22
01.js
View File

@@ -36,25 +36,37 @@ addObjects();
gameLoop();
function setupMatter() {
engine = Matter.Engine.create();
engine = Matter.Engine.create({ enableSleeping: true });
}
function addObjects() {
boxes.push(
new Box(engine.world, 250, 20, 40, 40),
new Box(engine.world, 300, 350, 40, 40),
new Box(engine.world, 320, 70, 40, 40),
new Box(engine.world, 0, 400, 800, 60, { isStatic: true })
new Box(engine.world, 250, 20, 40, 40, { restitution: 0.8 }),
new Box(engine.world, 300, 350, 40, 40, { restitution: 0.8 }),
new Box(engine.world, 320, 70, 40, 40, { restitution: 0.8 }),
new Box(engine.world, 0, 400, 1200, 60, { isStatic: true }),
new Box(engine.world, 260, 50, 40, 40),
new Box(engine.world, 330, 300, 40, 40),
new Box(engine.world, 350, 170, 40, 40),
new Box(engine.world, 160, 150, 40, 40),
new Box(engine.world, 190, 300, 40, 40),
new Box(engine.world, 250, 270, 40, 40),
);
}
function gameLoop() {
// update the physics world
Matter.Engine.update(engine, 1000 / 60);
var sleepingCount = 0;
// update the DOM world
for (let b of boxes) {
b.update();
if (b.physicsBox.isSleeping)
{
sleepingCount += 1;
}
}
console.debug("sleeping count:", sleepingCount);
requestAnimationFrame(() => this.gameLoop());
}

View File

@@ -22,7 +22,7 @@ box {
box-sizing: border-box;
position: absolute;
display: block;
background-color: rgba(45, 188, 232, 0.687);
background-color: red;
transform-origin: 20px 20px;
}