我正在尝试使用JavaScript(无引擎)制作一个小游戏,并且希望摆脱基于帧的动画。
我成功添加了水平运动的增量时间(以60或144fps正常工作)。
但是我不能让它与跳跃一起工作,高度(或力量)并不总是相同的,我也不知道为什么。
我已经尝试过了(仍然有完全相同的问题):
update():x += Math.round(dx * dt)Date.now()为performance.now()DeltaY我做了一个简化的示例,其中包含2种跳跃类型,高度锁定跳跃和常规跳跃(IDK称为它)。两者都有相同的问题。
const canvas = document.getElementById('canvas'),
ctx = canvas.getContext('2d'),
canvas2 = document.getElementById('canvas2'),
ctx2 = canvas2.getContext('2d');
// CLASS PLAYER ------------------------
class Actor {
constructor(color, ctx, j) {
this.c = ctx
this.w = 20
this.h = 40
this.x = canvas.width /2 - this.w/2
this.y = canvas.height/2 - this.h/2
this.color = color
// Delta
this.dy = 0
// Movement
this.gravity = 25/1000
this.maxSpeed = 600/1000 …Run Code Online (Sandbox Code Playgroud)