| | |
| | | import * as PIXI from 'pixi.js'; |
| | | import * as TWEEDLE from 'tweedle.js'; |
| | | import * as Tool from './tool'; |
| | | import star from '/public/img/map/star.png' |
| | | import star from '/img/map/star.png' |
| | | |
| | | export default class Player { |
| | | |
| | |
| | | this.coordinatesText = new PIXI.Text('{ x: 0, y: 0 }', { |
| | | fill: this.themeMode === 'dark' ? 0xdddddd : 0x333333, |
| | | fontSize: 13, |
| | | fontFamily: 'MicrosoftYaHei', |
| | | fontFamily: 'Microsoft YaHei', |
| | | fontWeight: 'bold', |
| | | }); |
| | | this.coordinatesText.name = 'xyStr' |
| | | this.coordinatesText.name = 'xyStr'; |
| | | this.coordinatesText.position.set(10, 10); |
| | | this.app.stage.addChild(this.coordinatesText); |
| | | |
| | | const mouseMoveInfoTextHandler = (event) => { |
| | | const mouseX = (event.clientX - this.mapContainer.position.x) / this.scale; |
| | | const mouseY = (event.clientY - this.mapContainer.position.y) / this.scale; |
| | | this.coordinatesText.text = `{ x: ${mouseX.toFixed(2)}, y: ${mouseY.toFixed(2)} }`; |
| | | }; |
| | | this.app.view.addEventListener('mousemove', mouseMoveInfoTextHandler); |
| | | 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)} }`; |
| | | }); |
| | | } |
| | | |
| | | |
| | | showGridLines = () => { |
| | | this.hideGridLines(); |
| | |
| | | } |
| | | |
| | | startupTicker = () => { |
| | | this.app.ticker.add((delta) => { |
| | | this.tweedle = (delta) => { |
| | | TWEEDLE.Group.shared.update(); |
| | | }); |
| | | } |
| | | this.app.ticker.add(this.tweedle); |
| | | } |
| | | |
| | | resize = (width, height) => { |
| | |
| | | } |
| | | |
| | | destroy = () => { |
| | | TWEEDLE.Group.shared.removeAll(); |
| | | this.app.ticker.remove(this.tweedle); |
| | | this.app.destroy(true, { children: true }); |
| | | } |
| | | |
| | |
| | | }) |
| | | app.stage.eventMode = 'static'; |
| | | app.stage.hitArea = app.screen; |
| | | |
| | | app.view.addEventListener('contextmenu', (event) => { |
| | | event.preventDefault(); |
| | | }); |