Fix: Clipping bug
This commit is contained in:
@@ -51,6 +51,8 @@ const HALO_HUE_MIN = 245;
|
||||
const HALO_HUE_MAX = 355;
|
||||
const HALO_SAT_MIN = 0.15;
|
||||
const HALO_VAL_MIN = 0.04;
|
||||
const RENDER_FIT_PADDING = 16;
|
||||
const MIN_RENDER_SCALE = 0.01;
|
||||
|
||||
export class PixiPetRenderer {
|
||||
private app: Application;
|
||||
@@ -426,7 +428,6 @@ export class PixiPetRenderer {
|
||||
this.frameElapsedMs = 0;
|
||||
this.applyFrameTexture(this.currentClip.frames[0] ?? 0);
|
||||
}
|
||||
this.sprite.scale.set(snapshot.scale);
|
||||
this.layoutSprite();
|
||||
}
|
||||
|
||||
@@ -457,6 +458,12 @@ export class PixiPetRenderer {
|
||||
}
|
||||
|
||||
private layoutSprite(): void {
|
||||
const availableWidth = Math.max(this.app.renderer.width - RENDER_FIT_PADDING, 1);
|
||||
const availableHeight = Math.max(this.app.renderer.height - RENDER_FIT_PADDING, 1);
|
||||
const fitScaleX = availableWidth / Math.max(this.pack.frame_width, 1);
|
||||
const fitScaleY = availableHeight / Math.max(this.pack.frame_height, 1);
|
||||
const fitScale = Math.max(Math.min(fitScaleX, fitScaleY), MIN_RENDER_SCALE);
|
||||
this.sprite.scale.set(fitScale);
|
||||
this.sprite.position.set(this.app.renderer.width / 2, this.app.renderer.height);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user