| | |
| | | import * as PIXI from 'pixi.js'; |
| | | import * as TWEEDLE from 'tweedle.js'; |
| | | import * as Tool from './tool'; |
| | | import star from '/img/map/star.png' |
| | | import star from '/img/map/star.png'; |
| | | import { MAP_MIRROR } from './constants'; |
| | | |
| | | export default class Player { |
| | | |
| | |
| | | |
| | | this.scale = newScale; |
| | | |
| | | this.mapContainer.scale.set(this.scale); |
| | | this.mapContainer.scale.set(this.scale, Math.abs(this.scale)); |
| | | |
| | | this.mapContainer.children.forEach(child => { |
| | | // child.scale.set(1 / this.scale); // 防止图标变小 |
| | | // child.scale.set(1 / (this.scale * 1)); // 防止图标变小 |
| | | |
| | | // switch (child.data?.type) { |
| | | // case DEVICE_TYPE.POINT: |
| | | // child.scale.set(1 / (this.scale * 20)); |
| | | // break |
| | | // default: |
| | | // break |
| | | // } |
| | | }); |
| | | }); |
| | | } |
| | |
| | | |
| | | new TWEEDLE.Tween(this.mapContainer.scale).easing(TWEEDLE.Easing.Quadratic.Out) |
| | | .to({ |
| | | x: this.scale, |
| | | x: MAP_MIRROR ? -this.scale : this.scale, |
| | | y: this.scale |
| | | }, 200).start(); |
| | | |
| | |
| | | const newRotation = this.mapContainer.rotation + value; |
| | | |
| | | const rotationDegrees = (newRotation * 180 / Math.PI) % 360; |
| | | this.rotationText.text = `{ rotation: ${rotationDegrees.toFixed(1)}° }`; |
| | | this.rotationText.text = `{ ROTATION: ${rotationDegrees.toFixed(1)}° }`; |
| | | |
| | | new TWEEDLE.Tween(this.mapContainer) |
| | | .to({ rotation: newRotation }, 200) |
| | |
| | | } |
| | | |
| | | showCoordinates = () => { |
| | | this.coordinatesText = new PIXI.Text('{ x: 0, y: 0 }', { |
| | | this.coordinatesText = new PIXI.Text('{ X: 0, Y: 0 }', { |
| | | fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333, |
| | | fontSize: 13, |
| | | fontFamily: 'Microsoft YaHei', |
| | |
| | | this.coordinatesText.position.set(10, 10); |
| | | this.app.stage.addChild(this.coordinatesText); |
| | | |
| | | this.rotationText = new PIXI.Text('Rotation: 0°', { |
| | | this.rotationText = new PIXI.Text('ROTATION: 0°', { |
| | | fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333, |
| | | fontSize: 13, |
| | | fontFamily: 'Microsoft YaHei', |
| | |
| | | |
| | | this.app.stage.on('pointermove', (event) => { |
| | | const worldPos = event.data.getLocalPosition(this.mapContainer); |
| | | this.coordinatesText.text = `{ x: ${worldPos.x.toFixed(2)}, y: ${worldPos.y.toFixed(2)} }`; |
| | | this.coordinatesText.text = `{ X: ${worldPos.x.toFixed(2)}, Y: ${worldPos.y.toFixed(2)} }`; |
| | | }); |
| | | } |
| | | |