MovingEntity 是一个抽象类(abstract class),它代表了一个可以运动的物体。这个类提供了关于物体的位置、方向和速度的基本操作。
position
:物体的当前位置,格式为 {x: number, y: number}
。
velocity
:物体的当前速度,格式为 {x: number, y: number}
。
direction
:物体当前运动的方向,范围从 0 到 2π。
rotation
:物体当前的旋转值,范围从 0 到 2π。
mass
:物体的质量。
update(dt: number)
:更新物体的位置和速度。这个方法的参数 dt
是时间步长(单位是秒)。子类必须实现这个方法。
accelerate(acceleration: {x: number, y: number})
:根据给定的加速度改变当前速度。
rotate(angle: number)
:根据给定的角度旋转物体。
getSpeed()
:返回物体当前的速度。
setMass(mass: number)
:设置物体的质量。
无
class MyEntity extends MovingEntity {
// 实现 update 方法
update(dt) {
// 更新位置和速度
}
}
let e = new MyEntity();
e.accelerate({x: 1, y: 0});
e.rotate(Math.PI / 4);
e.update(0.1);