Procházet zdrojové kódy

Merge pull request #1357 from nockawa/master

Canvas2D: pointerEvent fix with designSize
Loïc Baumann před 9 roky
rodič
revize
b5c11cd7ac
1 změnil soubory, kde provedl 5 přidání a 4 odebrání
  1. 5 4
      src/Canvas2d/babylon.canvas2d.ts

+ 5 - 4
src/Canvas2d/babylon.canvas2d.ts

@@ -452,6 +452,7 @@
         }
 
         private _updatePointerInfo(eventData: PointerInfoBase, localPosition: Vector2) {
+            let s = this.scale;
             let pii = this._primPointerInfo;
             if (!pii.canvasPointerPos) {
                 pii.canvasPointerPos = Vector2.Zero();
@@ -467,11 +468,11 @@
                 var x = localPosition.x - viewport.x;
                 var y = localPosition.y - viewport.y;
 
-                pii.canvasPointerPos.x = x - this.actualPosition.x;
-                pii.canvasPointerPos.y = engine.getRenderHeight() - y - this.actualPosition.y;
+                pii.canvasPointerPos.x = (x - this.actualPosition.x) / s;
+                pii.canvasPointerPos.y = (engine.getRenderHeight() - y - this.actualPosition.y) / s;
             } else {
-                pii.canvasPointerPos.x = localPosition.x;
-                pii.canvasPointerPos.y = localPosition.y;
+                pii.canvasPointerPos.x = localPosition.x / s;
+                pii.canvasPointerPos.y = localPosition.y / s;
             }
             //console.log(`UpdatePointerInfo for ${this.id}, X:${pii.canvasPointerPos.x}, Y:${pii.canvasPointerPos.y}`);
             pii.mouseWheelDelta = 0;