#
vincentlu
4 天以前 072fa343de3d15437ed6e46e75200fdde40a4497
zy-acs-flow/src/map/player.js
@@ -2,7 +2,9 @@
import * as TWEEDLE from 'tweedle.js';
import * as Tool from './tool';
import star from '/img/map/star.png';
import { DEVICE_TYPE, MAP_MIRROR } from './constants';
import { DEVICE_TYPE, MAP_MIRROR, MAP_TONES } from './constants';
const getMapTone = (mode) => mode === 'dark' ? MAP_TONES.dark : MAP_TONES.light;
export default class Player {
@@ -275,8 +277,9 @@
    }
    showCoordinates = () => {
        const tone = getMapTone(this.themeMode);
        this.coordinatesText = new PIXI.Text('{ X: 0, Y: 0 }', {
            fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333,
            fill: tone.textPrimary,
            fontSize: 13,
            fontFamily: 'Microsoft YaHei',
            fontWeight: 'bold',
@@ -286,7 +289,7 @@
        this.app.stage.addChild(this.coordinatesText);
        this.rotationText = new PIXI.Text('ROTATION: 0°', {
            fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333,
            fill: tone.textPrimary,
            fontSize: 13,
            fontFamily: 'Microsoft YaHei',
            fontWeight: 'bold',
@@ -310,8 +313,8 @@
        }
        const spacing = 30;
        const lineDefaultAlpha = .1;;
        const lineDefaultColor = 0x000000;
        const tone = getMapTone(this.themeMode);
        const { color: lineDefaultColor, alpha: lineDefaultAlpha } = tone.grid;
        for (let i = 0; i < this.app.view.width / spacing; i++) {
            const graphics = new PIXI.Graphics();
            graphics.lineStyle(1, lineDefaultColor, lineDefaultAlpha);
@@ -341,7 +344,8 @@
        }
    }
    showStarryBackground = (tint = 0x8395a7) => {
    showStarryBackground = (tint) => {
        const resolvedTint = tint ?? (this.themeMode === 'dark' ? 0x6f7d92 : 0x8395a7);
        if (!this.starryContainer) {
            this.starryContainer = generatePixiContainer('starryContainer');
            this.app.stage.addChild(this.starryContainer);
@@ -369,7 +373,7 @@
            };
            star.sprite.anchor.x = 0.5;
            star.sprite.anchor.y = 0.7;
            star.sprite.tint = tint; // filter
            star.sprite.tint = resolvedTint; // filter
            randomizeStar(star, true);
            this.starryContainer.addChild(star.sprite);
            stars.push(star);
@@ -449,20 +453,26 @@
    }
    setTheme = (themeMode) => {
        this.app.renderer.background.color = themeMode === 'dark' ? '#3a3f44' : '#f1f2f6';
        this.themeMode = themeMode;
        const tone = getMapTone(themeMode);
        this.app.renderer.background.color = tone.canvasBackground;
        if (this.coordinatesText) {
            this.coordinatesText.style.fill = themeMode === 'dark' ? 0xdddddd : 0x333333;
            this.coordinatesText.style.fill = tone.textPrimary;
        }
        if (this.rotationText) {
            this.rotationText.style.fill = themeMode === 'dark' ? 0xdddddd : 0x333333;
            this.rotationText.style.fill = tone.textPrimary;
        }
        if (this.gridLineContainer) {
            this.showGridLines();
        }
    }
}
const generateApp = (dom, themeMode) => {
    const tone = getMapTone(themeMode);
    const app = new PIXI.Application({
        background: themeMode === 'dark' ? '#3b4148' : '#f1f2f6',
        background: tone.canvasBackground,
        antialias: true,
        // resizeTo: dom,
    })