From 73c664eb617b2a6776df267e90ef85e57d7a8a5f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 07 十一月 2024 15:11:53 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/player.js |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/zy-acs-flow/src/map/player.js b/zy-acs-flow/src/map/player.js
index 3d3a04e..2f8b87d 100644
--- a/zy-acs-flow/src/map/player.js
+++ b/zy-acs-flow/src/map/player.js
@@ -228,19 +228,24 @@
             }, 200).start();
     }
 
-    rotateMap = () => {
+    rotateMap = (value = 0) => {
         const bounds = this.mapContainer.getLocalBounds();
         const centerX = bounds.x + bounds.width / 2;
         const centerY = bounds.y + bounds.height / 2;
         this.mapContainer.pivot.set(centerX, centerY);
         this.mapContainer.position.set(this.app.renderer.width / 2, this.app.renderer.height / 2);
 
-        const rotationIncrement = Math.PI / 2; // 90 degrees in radians
-        const newRotation = this.mapContainer.rotation + rotationIncrement;
+        const newRotation = this.mapContainer.rotation + value;
+
+        const rotationDegrees = (newRotation * 180 / Math.PI) % 360;
+        this.rotationText.text = `{ rotation: ${rotationDegrees.toFixed(1)}掳 }`;
 
         new TWEEDLE.Tween(this.mapContainer)
             .to({ rotation: newRotation }, 200)
             .easing(TWEEDLE.Easing.Quadratic.Out)
+            .onComplete(() => {
+                localStorage.setItem('mapRotation', newRotation % (Math.PI * 2));
+            })
             .start();
     }
 
@@ -254,6 +259,16 @@
         this.coordinatesText.name = 'xyStr';
         this.coordinatesText.position.set(10, 10);
         this.app.stage.addChild(this.coordinatesText);
+
+        this.rotationText = new PIXI.Text('Rotation: 0掳', {
+            fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333,
+            fontSize: 13,
+            fontFamily: 'Microsoft YaHei',
+            fontWeight: 'bold',
+        });
+        this.rotationText.name = 'rotationStr';
+        this.rotationText.position.set(10, 35);
+        this.app.stage.addChild(this.rotationText);
 
         this.app.stage.on('pointermove', (event) => {
             const worldPos = event.data.getLocalPosition(this.mapContainer);
@@ -413,6 +428,9 @@
         if (this.coordinatesText) {
             this.coordinatesText.style.fill = themeMode === 'dark' ? 0xdddddd : 0x333333;
         }
+        if (this.rotationText) {
+            this.rotationText.style.fill = themeMode === 'dark' ? 0xdddddd : 0x333333;
+        }
     }
 
 }

--
Gitblit v1.9.1