現在、時間の経過とともにマウスアクセラレーションを使用して画面全体にボックスを移動する物理エンジンを作成しています。私はこのマウスの加速度を8倍に減衰するボックスに適用することを目指していますが、私の現在の方程式はマウスの加速度をゼロに収束させません。JS物理アクセラレーションディケイ
ボックス加速度/速度減衰方程式:
_this.vx私は0.8減衰を有することを望むものであり、まだそれは(画像中)化合物。
_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;
マウスの加速キャプチャ:
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;
}
'_this.update'で' t'とは何ですか? – guest271314
私は謝罪し、時計機能からの時間を含む変数であり、秒単位で時間を測定するために更新に使用されます。 px/s –
't'のように増加するだけでしょうか? – guest271314