From a4019f141e1fdd29a198742095cfdba6128d2f44 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 19 十二月 2023 14:16:11 +0800
Subject: [PATCH] #map latest test
---
src/main/webapp/views/console4.html | 65 +++++++++++++++++++++++++-------
1 files changed, 50 insertions(+), 15 deletions(-)
diff --git a/src/main/webapp/views/console4.html b/src/main/webapp/views/console4.html
index 0994b7b..bf3cd43 100644
--- a/src/main/webapp/views/console4.html
+++ b/src/main/webapp/views/console4.html
@@ -131,9 +131,11 @@
let pixiShuttleMap = new Map();
let pixiShuttleMoveAdvancePathMap = new Map();
let pixiShuttleMoveAdvancePathList = [];
+ let pixiShuttleLockPathMap = new Map();
let pixiStaMap = new Map();
let objectsContainer;
let objectsContainer2;
+ let objectsContainer3;
let graphics0;
let graphics3;
let graphics4;
@@ -200,10 +202,10 @@
// this.getSystemRunningStatus() //鑾峰彇绯荤粺杩愯鐘舵��
this.consoleInterval = setInterval(() => {
+ this.getMap(this.currentLev) //鑾峰彇瀹炴椂鍦板浘鏁版嵁
this.getShuttleStateInfo() //鑾峰彇鍥涘悜绌挎杞︿俊鎭�
this.getLiftStateInfo() //鑾峰彇鎻愬崌鏈轰俊鎭�
this.getSiteInfo() //鑾峰彇杈撻�佺珯鐐规暟鎹�
- this.getMap(this.currentLev) //鑾峰彇瀹炴椂鍦板浘鏁版嵁
// this.getCodeData()//鑾峰彇鏉$爜
}, 1000)
@@ -249,8 +251,8 @@
const shuttle = new PIXI.Sprite(resources.shuttle.texture);
shuttle.width = width
shuttle.height = height
- shuttle.x = item.wcsPoint.x * height;//鏇存柊鍧愭爣x
- shuttle.y = item.wcsPoint.y * width;//鏇存柊鍧愭爣y
+ shuttle.x = (item.wcsPoint.y - 0) * width;//鏇存柊鍧愭爣x
+ shuttle.y = (item.wcsPoint.x - 1) * height;//鏇存柊鍧愭爣y
shuttle.updateMoveStatus = true;//鍔ㄧ敾鎵ц瀹屾垚
shuttle.interactive = true; // 蹇呴』瑕佽缃墠鑳芥帴鏀朵簨浠�
shuttle.buttonMode = true; // 璁╁厜鏍囧湪hover鏃跺彉涓烘墜鍨嬫寚閽�
@@ -310,6 +312,18 @@
this.reloadMap = true
this.reloadSta = true
this.getMap(lev)
+
+ //娓呯┖鍗犵敤璺緞
+ pixiShuttleLockPathMap.forEach((item, index) => {
+ objectsContainer3.removeChild(item);
+ });
+ pixiShuttleLockPathMap = new Map();
+
+ pixiShuttleMoveAdvancePathMap.forEach((item, index) => {
+ objectsContainer2.removeChild(item.sprite);
+ });
+ pixiShuttleMoveAdvancePathMap = new Map();
+ pixiShuttleMoveAdvancePathList = []
},
createMap(){
//Create a Pixi Application
@@ -341,6 +355,10 @@
// 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
objectsContainer2 = new PIXI.Container();
pixiApp.stage.addChild(objectsContainer2);
+
+ // 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
+ objectsContainer3 = new PIXI.Container();
+ pixiApp.stage.addChild(objectsContainer3);
//*******************鎷栧姩鐢诲竷*******************
let stageOriginalPos;
@@ -453,7 +471,7 @@
this.openDrawerLift(val)
}else{
//搴撲綅
- this.rightEvent(index, idx, e);
+ this.rightEvent(index + 1, idx, e);
updateColor(sprite, 0x9900ff);
}
});
@@ -488,7 +506,12 @@
pixiStaMap.set(parseInt(val.data), sprite);//绔欑偣鏁版嵁娣诲姞鍒癿ap涓�
}
- objectsContainer.addChild(sprite);
+ if (val.value == -999) {
+ pixiShuttleLockPathMap.set(this.getLocNoByXYZ(index + 1, idx, this.currentLev), sprite);
+ objectsContainer3.addChild(sprite);
+ }else {
+ objectsContainer.addChild(sprite);
+ }
pixiStageList[index][idx] = sprite
}
});
@@ -497,15 +520,26 @@
diff.forEach((item, index) => {
//鑾峰彇old鍏冪礌
let oldSprite = pixiStageList[item.x][item.y]
- //绉婚櫎old鍏冪礌
- objectsContainer.removeChild(oldSprite)
+ if (item.originData == -999) {
+ //绉婚櫎old璺緞鍏冪礌
+ objectsContainer3.removeChild(oldSprite);
+ }else {
+ //绉婚櫎old鍏冪礌
+ objectsContainer.removeChild(oldSprite);
+ }
let sprite = getSprite(item.data, item.y * width, item.x * height, (e) => {
- this.rightEvent(item.x, item.y, e);
+ this.rightEvent(item.x + 1, item.y, e);
updateColor(sprite, 0x9900ff);
});
- objectsContainer.addChild(sprite);
+ if (item.data == -999) {
+ //娣诲姞璺緞鍏冪礌
+ objectsContainer3.addChild(sprite);
+ }else {
+ //娣诲姞鍏冪礌
+ objectsContainer.addChild(sprite);
+ }
//淇濆瓨鏂板厓绱�
pixiStageList[item.x][item.y] = sprite
@@ -527,7 +561,8 @@
diff.push({
x: index,
y: idx,
- data: arr2[index][idx].value
+ data: arr2[index][idx].value,
+ originData: val.value
})
}
})
@@ -655,12 +690,12 @@
if (shuttle.updateMoveStatus) {//鍔ㄧ敾鎵ц瀹屾垚鎵嶅彲缁х画鎵ц鍔ㄧ敾
shuttle.updateMoveStatus = false;//鍔ㄧ敾鎵ц涓�
// 璁$畻涓ょ偣涔嬮棿鐨勮窛绂�1
- const distance = Math.sqrt(Math.pow((item.point.x * width) - shuttle.x, 2) + Math.pow((item.point.y * height) - shuttle.y, 2));
+ const distance = Math.sqrt(Math.pow((item.wcsPoint.x * width) - shuttle.x, 2) + Math.pow((item.wcsPoint.y * height) - shuttle.y, 2));
gsap.killTweensOf(shuttle); // 鏉�姝绘墍鏈夐拡瀵�".class"鐨勫姩鐢�
gsap.to(shuttle, {
- x: item.point.x * width, // 鐩爣浣嶇疆
- y: item.point.y * height, // 鐩爣浣嶇疆
- duration: distance / 100, // 鍔ㄧ敾鎸佺画鏃堕棿锛堢锛�
+ x: (item.wcsPoint.y - 0) * width, // 鐩爣浣嶇疆
+ y: (item.wcsPoint.x - 1) * height, // 鐩爣浣嶇疆
+ duration: 0.2, // 鍔ㄧ敾鎸佺画鏃堕棿锛堢锛�
ease: "power1.inOut", // 缂撳姩绫诲瀷
onComplete: () => {
shuttle.updateMoveStatus = true;//鍔ㄧ敾鎵ц瀹屾垚
@@ -824,7 +859,7 @@
moveAdvancePath.forEach((path, idx) => {
let locNo = that.getLocNoByXYZ(path.x, path.y, path.z);
if (!pixiShuttleMoveAdvancePathMap.has(locNo)) {
- let graphics = getGraphics(0x9966ff, width, height, path.y * width, path.x * height);
+ let graphics = getGraphics(0x9966ff, width, height, path.y * width, (path.x - 1) * height);
let shuttleNos = [shuttleNo];
// 鍒涘缓鏂囨湰瀵硅薄
const style = new PIXI.TextStyle({
--
Gitblit v1.9.1