我想在我的自定义游戏循环中使用Matter.js,我按照here的说明添加了Engine.update(引擎,1000 / 60,1);在绘制循环中,但没有任何反应,只是空白屏幕。我是否需要在某处添加tick方法?
这是我的代码:
window.onload = function () {
// Matter.js module aliases
var Engine = Matter.Engine,
World = Matter.World,
Bodies = Matter.Bodies;
// create a Matter.js engine
var engine = Engine.create(document.body);
// create two boxes and a ground
var boxA = Bodies.rectangle(400, 200, 80, 80);
var boxB = Bodies.rectangle(450, 50, 80, 80);
var ground = Bodies.rectangle(400, 610, 810, 60, { isStatic: true });
// add all of the bodies to the world
World.add(engine.world, [boxA, boxB, ground]);
// run the engine
//Engine.run(engine);
draw();
function draw(){
Engine.update(engine, 1000/60, 1);
requestAnimationFrame(draw);
}
};
答案 0 :(得分:0)
您可能使用了错误的参数。
我有一个使用Engine.update
的函数,如下所示:
var updateTime = 1000/60;
Matter.Engine.update(engine, [delta=updateTime], [correction=1]);