ソースを参照

count sleeping

master
コミット
d71e4ef553
2個のファイルの変更18行の追加6行の削除
  1. +17
    -5
      01.js
  2. +1
    -1
      index.html

+ 17
- 5
01.js ファイルの表示

@@ -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 ファイルの表示

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



読み込み中…
キャンセル
保存