fix sprite cache and rotating rectangular sprites
This commit is contained in:
parent
4c54b8bfb6
commit
0391e92bb3
@ -43,6 +43,8 @@ export class Gamelib {
|
|||||||
this.canvas.removeEventListener("mouseup", this.mouseupListener);
|
this.canvas.removeEventListener("mouseup", this.mouseupListener);
|
||||||
this.canvas.removeEventListener("contextmenu", this.contextMenuListener);
|
this.canvas.removeEventListener("contextmenu", this.contextMenuListener);
|
||||||
|
|
||||||
|
this.spriteCache.clear();
|
||||||
|
|
||||||
clearInterval(this.loopInterval);
|
clearInterval(this.loopInterval);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,12 +182,14 @@ export class Gamelib {
|
|||||||
|
|
||||||
const sprite = this.#loadSprite(width, height, name);
|
const sprite = this.#loadSprite(width, height, name);
|
||||||
|
|
||||||
const newSprite = new OffscreenCanvas(sprite.width, sprite.height);
|
const maxSize = Math.max(sprite.width, sprite.height);
|
||||||
|
const newSprite = new OffscreenCanvas(maxSize, maxSize);
|
||||||
|
console.log(newSprite);
|
||||||
const newSpriteCx = newSprite.getContext("2d");
|
const newSpriteCx = newSprite.getContext("2d");
|
||||||
|
|
||||||
newSpriteCx.imageSmoothingEnabled = false;
|
newSpriteCx.imageSmoothingEnabled = false;
|
||||||
newSpriteCx.save();
|
newSpriteCx.save();
|
||||||
newSpriteCx.translate(sprite.width / 2, sprite.height / 2);
|
newSpriteCx.translate(maxSize / 2, maxSize / 2);
|
||||||
newSpriteCx.rotate(angleNormalized);
|
newSpriteCx.rotate(angleNormalized);
|
||||||
|
|
||||||
newSpriteCx.drawImage(
|
newSpriteCx.drawImage(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user