Ich erstelle eine Physik-Engine, die derzeit Mausbeschleunigung (über die Zeit) verwendet, um Boxen über den Bildschirm zu bewegen. Ich strebe an, dass diese Mausbeschleunigung, die auf die Kästen angewendet wird, mit der Zeit um einen Faktor von 0,8 abnimmt, jedoch führt meine aktuelle Gleichung nicht dazu, dass die Mausbeschleunigung gegen Null konvergiert.JS Physik Beschleunigung Decay
Box Beschleunigung/Geschwindigkeitsabfall Gleichungen:
_this.vx ist, was ich will Zerfall haben um 0,8, aber es Verbindungen (in Bild).
_this.update = function (t) {
_this.x += _this.vx * 0.8 * t;
_this.vx += (_this.ax *0.8) * t;
console.log("Velocity: " + _this.vx);
_this.y += _this.vy * t;
_this.vy += (_this.ay + 440) * t;
Mausbeschleunigung Capture:
var mouse = {
update: function (t)
{
mouse.ox = mouse.x;
mouse.oy = mouse.y;
},
x: 0,
y: 0,
ox: 0,
oy: 0,
vx: 0,
vy: 0,
click: false
}
var now, after,timediff;
window.onmousemove = function (e)
{
mouse.ox = mouse.x;
mouse.oy = mouse.y;
mouse.x = e.x;
mouse.y = e.y;
now = performance.now();
timediff = now - after;
mouse.vx = ((mouse.x - mouse.ox)/timediff)*100;
mouse.vy = ((mouse.y - mouse.oy)/timediff)*100;
after = now;
timediff = 0;
}
Was ist 't' bei' _this.update'? – guest271314
Ich entschuldige mich, es ist eine Variable, die Zeit von einer Uhrfunktion enthält, sie wird im Update verwendet, um die Zeit in Sekunden zu messen. Wie px/s –
't' würde nur erhöhen, ja? – guest271314