Pour obtenir un temps écoulé :
let startTime = new Date().getTime();
function main() {
//pour avoir un temps de simu depuis le départ
let currTime = new Date().getTime(),
dt = ((currTime - startTime)/1000);
update(dt);
render();
requestId = window.requestAnimationFrame(main);
}
temps quasi constant
function main() {
let now = Date.now(),
dt = (now - lastTime) / 1000.0;
update(dt);
render();
lastTime = now;
requestId = window.requestAnimationFrame(main);
}
on pourra écrire la classe suivante :
class Oxilo extends AnimatedBloc {
constructor(elt, { speed }) {
super(elt, {
speed
});
}
static construct(elt, { speed = 1 } = {}) {
return new Oxilo(elt, { speed });
}
update(dt) {
this.x = Math.cos(2*Math.PI*(dt))*50;
this.y = Math.sin(Math.PI*(dt))*50;
}
}
on pourra écrire la classe suivante :
class Oxilo extends AnimatedBloc {
constructor(elt, { speed }) {
super(elt, {
speed
});
}
static construct(elt, { speed = 1 } = {}) {
return new Oxilo(elt, { speed });
}
update(dt) {
this.x = Math.cos(2*Math.PI*(dt))*50;
this.y = Math.sin(Math.PI*(dt))*50;
}
}