summaryrefslogtreecommitdiff
path: root/src/engine/components/Sprite.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/components/Sprite.ts')
-rw-r--r--src/engine/components/Sprite.ts6
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) {