#
luxiaotao1123
2024-11-07 73c664eb617b2a6776df267e90ef85e57d7a8a5f
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;
        }
    }
}