From d5df2385eeaf50c240fba88669b5ef002dbda4bb Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 19 十月 2024 15:05:22 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/tool.js | 77 +++++++++++++++++++++++++++++++++++---
1 files changed, 70 insertions(+), 7 deletions(-)
diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index ed0801d..d750603 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -24,6 +24,7 @@
let app, mapContainer, themeMode;
let selectedSprite, effectCircle, effectTicker;
+let tooltip;
export function getApp() {
return app;
@@ -226,13 +227,17 @@
sprite.off('pointerup');
sprite.off('pointermove');
sprite.off('pointerdown');
+ sprite.off('pointerover');
+ sprite.off('pointerout');
sprite.off('click');
- sprite.on("click", onClick);
-
- function onClick(event) {
+ sprite.on("click", (event) => {
setCurSprite(sprite);
- }
+ });
+
+ sprite.on('pointerover', onSpriteMouseOver);
+ sprite.on('pointermove', onSpriteMouseMove);
+ sprite.on('pointerout', onSpriteMouseOut);
}
@@ -240,6 +245,8 @@
sprite.off('pointerup');
sprite.off('pointermove');
sprite.off('pointerdown');
+ sprite.off('pointerover');
+ sprite.off('pointerout');
sprite.off('click');
sprite.on("pointerdown", onDragStart);
@@ -277,12 +284,68 @@
sprite.off('pointerup');
sprite.off('pointermove');
sprite.off('pointerdown');
+ sprite.off('pointerover');
+ sprite.off('pointerout');
sprite.off('click');
- sprite.on("click", onClick);
-
- function onClick(event) {
+ sprite.on("click", (event) => {
setSpriteSettings(sprite);
+ });
+
+ sprite.on('pointerover', onSpriteMouseOver);
+ sprite.on('pointermove', onSpriteMouseMove);
+ sprite.on('pointerout', onSpriteMouseOut);
+
+}
+
+const createSpriteTooltip = (sprite) => {
+ const style = new PIXI.TextStyle({
+ fontFamily: 'Microsoft YaHei',
+ fontSize: 16,
+ fill: '#ffffff',
+ stroke: '#4a1850',
+ strokeThickness: 2,
+ dropShadow: true,
+ dropShadowColor: '#000000',
+ dropShadowBlur: 4,
+ dropShadowAngle: Math.PI / 6,
+ dropShadowDistance: 6,
+ });
+
+ const text = new PIXI.Text(`缂栧彿: ${sprite.data.no}`, style);
+
+ const background = new PIXI.Graphics();
+ background.beginFill(0x000000, 0.7);
+ background.drawRoundedRect(0, 0, text.width + 20, text.height + 20, 10);
+ background.endFill();
+
+ text.x = 10;
+ text.y = 10;
+ background.addChild(text);
+
+ tooltip = new PIXI.Container();
+ tooltip.addChild(background);
+ return tooltip;
+}
+
+function onSpriteMouseOver(event) {
+ tooltip = createSpriteTooltip(this);// this => sprite
+ tooltip.x = event.data.global.x + 10;
+ tooltip.y = event.data.global.y + 10;
+ app.stage.addChild(tooltip);
+}
+
+function onSpriteMouseMove(event) {
+ if (tooltip) {
+ tooltip.x = event.data.global.x + 10;
+ tooltip.y = event.data.global.y + 10;
+ }
+}
+
+function onSpriteMouseOut() {
+ if (tooltip && tooltip.parent) {
+ tooltip.parent.removeChild(tooltip);
+ tooltip = null;
}
}
--
Gitblit v1.9.1