UNPKG

blaze-2d

Version:

A fast and simple WebGL 2 2D game engine written in TypeScript

30 lines 835 B
import { vec2 } from "gl-matrix"; import Space from "./space"; /** * Represents an infinite space containing {@link RigidBody}s. * * Can be used to update objects dynamics. */ export default class DynamicsSpace extends Space { /** * Creates a {@link DynamicsSpace} instance. */ constructor(gravity) { super(); this.gravity = vec2.clone(gravity); } /** * Executes a solver on every object in the space. * * @param id The id of the solver to execute */ solve(id, delta) { const solver = this.solvers[id]; for (let i = 0; i < solver.iterations; i++) { for (const obj of this.objects) { solver.cb(obj, delta, obj.takesGravity ? this.gravity : obj.gravity); } } } } //# sourceMappingURL=dynamics.js.map