Fix: tauri window scaling bug

This commit is contained in:
DaZuo0122
2026-02-13 17:25:28 +08:00
parent 084506e84b
commit 8e79bd98e5
7 changed files with 80 additions and 5 deletions

View File

@@ -75,10 +75,10 @@ export class PixiPetRenderer {
}
const sprite = new Sprite();
sprite.anchor.set(pack.anchor.x, pack.anchor.y);
sprite.position.set(app.renderer.width / 2, app.renderer.height);
app.stage.addChild(sprite);
const renderer = new PixiPetRenderer(app, sprite, pack, baseTexture);
renderer.layoutSprite();
renderer.applySnapshot(snapshot);
renderer.startTicker();
return renderer;
@@ -145,10 +145,12 @@ export class PixiPetRenderer {
this.applyFrameTexture(this.currentClip.frames[0] ?? 0);
}
this.sprite.scale.set(snapshot.scale);
this.layoutSprite();
}
private startTicker(): void {
this.app.ticker.add((ticker) => {
this.layoutSprite();
const frameMs = 1000 / Math.max(this.currentClip.fps, 1);
this.frameElapsedMs += ticker.deltaMS;
if (this.frameElapsedMs < frameMs) {
@@ -169,6 +171,10 @@ export class PixiPetRenderer {
});
}
private layoutSprite(): void {
this.sprite.position.set(this.app.renderer.width / 2, this.app.renderer.height);
}
private resolveClip(name: string): UiAnimationClip {
return (
this.animationMap.get(name) ??