diff options
Diffstat (limited to 'src/engine/components/Sprite.ts')
-rw-r--r-- | src/engine/components/Sprite.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/engine/components/Sprite.ts b/src/engine/components/Sprite.ts index 6a66a5c..82d7011 100644 --- a/src/engine/components/Sprite.ts +++ b/src/engine/components/Sprite.ts @@ -1,5 +1,6 @@ import { Component, ComponentNames } from "."; import type { Dimension2D, DrawArgs, Coord2D } from "../interfaces"; +import { clamp } from "../utils"; export class Sprite extends Component { private sheet: HTMLImageElement; @@ -31,6 +32,11 @@ export class Sprite extends Component { this.currentFrame = 0; } + public fillTimingsFromSprite(sprite: Sprite) { + this.msSinceLastFrame = clamp(sprite.msSinceLastFrame, 0, this.msPerFrame); + this.currentFrame = clamp(sprite.currentFrame, 0, this.numFrames - 1); + } + public update(dt: number) { this.msSinceLastFrame += dt; if (this.msSinceLastFrame >= this.msPerFrame) { |