fix: 缩放问题

This commit is contained in:
unanmed 2025-05-26 11:59:38 +08:00
parent 226b841124
commit 5fdeee045d
6 changed files with 12 additions and 21 deletions

View File

@ -35,7 +35,6 @@
"mutate-animate": "^1.4.2", "mutate-animate": "^1.4.2",
"ogg-opus-decoder": "^1.6.14", "ogg-opus-decoder": "^1.6.14",
"opus-decoder": "^0.7.7", "opus-decoder": "^0.7.7",
"vite-plugin-dts": "^4.5.4",
"vue": "^3.5.13" "vue": "^3.5.13"
}, },
"devDependencies": { "devDependencies": {
@ -82,6 +81,7 @@
"typescript-eslint": "^8.27.0", "typescript-eslint": "^8.27.0",
"unplugin-vue-components": "^0.22.12", "unplugin-vue-components": "^0.22.12",
"vite": "^6.2.2", "vite": "^6.2.2",
"vite-plugin-dts": "^4.5.4",
"vitepress": "^1.6.3", "vitepress": "^1.6.3",
"vitepress-plugin-mermaid": "^2.0.17", "vitepress-plugin-mermaid": "^2.0.17",
"vue-tsc": "^2.2.8", "vue-tsc": "^2.2.8",

View File

@ -41,10 +41,10 @@ export class MotaOffscreenCanvas2D extends EventEmitter<OffscreenCanvasEvent> {
* @param scale * @param scale
*/ */
setScale(scale: number) { setScale(scale: number) {
if (scale === this.scale) { // if (scale === this.scale) {
this.clear(); // this.clear();
return; // return;
} // }
this.scale = scale; this.scale = scale;
let ratio = this.highResolution ? devicePixelRatio : 1; let ratio = this.highResolution ? devicePixelRatio : 1;
ratio *= this.scale; ratio *= this.scale;

View File

@ -461,6 +461,7 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
*/ */
requireCanvas(alpha: boolean = true, autoScale: boolean = true) { requireCanvas(alpha: boolean = true, autoScale: boolean = true) {
const canvas = new MotaOffscreenCanvas2D(alpha); const canvas = new MotaOffscreenCanvas2D(alpha);
canvas.setScale(this.scale);
this.canvases.add(canvas); this.canvases.add(canvas);
this.canvasMap.set(canvas, { autoScale }); this.canvasMap.set(canvas, { autoScale });
return canvas; return canvas;

View File

@ -94,6 +94,8 @@ export class MotaRenderer extends Container implements IRenderTreeRoot {
update(); update();
this.listen(); this.listen();
this.setScale(1);
} }
/** /**

View File

@ -12,7 +12,7 @@
], ],
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/unanmed/HumanBreak/tree/dev" "url": "https://github.com/motajs/motajs-engine"
}, },
"author": { "author": {
"name": "AncTe", "name": "AncTe",

View File

@ -53,9 +53,6 @@ importers:
opus-decoder: opus-decoder:
specifier: ^0.7.7 specifier: ^0.7.7
version: 0.7.10 version: 0.7.10
vite-plugin-dts:
specifier: ^4.5.4
version: 4.5.4(@types/node@18.19.103)(rollup@3.29.5)(typescript@5.8.3)(vite@6.3.5(@types/node@18.19.103)(less@4.3.0)(terser@5.39.2)(tsx@4.19.4))
vue: vue:
specifier: ^3.5.13 specifier: ^3.5.13
version: 3.5.14(typescript@5.8.3) version: 3.5.14(typescript@5.8.3)
@ -189,6 +186,9 @@ importers:
vite: vite:
specifier: ^6.2.2 specifier: ^6.2.2
version: 6.3.5(@types/node@18.19.103)(less@4.3.0)(terser@5.39.2)(tsx@4.19.4) version: 6.3.5(@types/node@18.19.103)(less@4.3.0)(terser@5.39.2)(tsx@4.19.4)
vite-plugin-dts:
specifier: ^4.5.4
version: 4.5.4(@types/node@18.19.103)(rollup@3.29.5)(typescript@5.8.3)(vite@6.3.5(@types/node@18.19.103)(less@4.3.0)(terser@5.39.2)(tsx@4.19.4))
vitepress: vitepress:
specifier: ^1.6.3 specifier: ^1.6.3
version: 1.6.3(@algolia/client-search@5.21.0)(@types/node@18.19.103)(async-validator@4.2.5)(axios@1.9.0)(less@4.3.0)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.3)(search-insights@2.17.3)(terser@5.39.2)(typescript@5.8.3) version: 1.6.3(@algolia/client-search@5.21.0)(@types/node@18.19.103)(async-validator@4.2.5)(axios@1.9.0)(less@4.3.0)(markdown-it-mathjax3@4.3.2(encoding@0.1.13))(postcss@8.5.3)(search-insights@2.17.3)(terser@5.39.2)(typescript@5.8.3)
@ -439,18 +439,6 @@ importers:
packages/render: packages/render:
dependencies: dependencies:
'@motajs/render-core':
specifier: workspace:*
version: link:../render-core
'@motajs/render-elements':
specifier: workspace:*
version: link:../render-elements
'@motajs/render-style':
specifier: workspace:*
version: link:../render-style
'@motajs/render-vue':
specifier: workspace:*
version: link:../render-vue
eventemitter3: eventemitter3:
specifier: ^5.0.1 specifier: ^5.0.1
version: 5.0.1 version: 5.0.1