Parcourir la source

count sleeping

master
Parent
révision
d71e4ef553
2 fichiers modifiés avec 18 ajouts et 6 suppressions
  1. +17
    -5
      01.js
  2. +1
    -1
      index.html

+ 17
- 5
01.js Voir le fichier

@@ -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());
}


+ 1
- 1
index.html Voir le fichier

@@ -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;
}



Chargement…
Annuler
Enregistrer