浏览代码

Merge branch 'master' of https://git.cocorobo.cn/CocoRoboLabs/cocoroboBlockly

Signed-off-by: lcw <1324309909@qq.com>
lcw 3 年之前
父节点
当前提交
c8d40cc5b4

二进制
src/assets/img/light/tips.png


二进制
src/assets/img/traffic/G1.png


二进制
src/assets/img/traffic/G2.png


二进制
src/assets/img/traffic/G3.png


二进制
src/assets/img/traffic/G4.png


二进制
src/assets/img/traffic/G5.png


二进制
src/assets/img/traffic/ai.png


二进制
src/assets/img/traffic/light1.png


二进制
src/assets/img/traffic/light2.png


二进制
src/assets/img/traffic/line.png


+ 11 - 11
src/components/light.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <div class="tip">
-      <img src="../assets/img/tips.png" alt="" />
+      <img src="../assets/img/light/tips.png" alt="" />
     </div>
     <div class="img">
       <div
@@ -251,7 +251,7 @@ export default {
             spP < -40 &&
             type == 1
           ) {
-            dv.style.left = policeL + 66.5 + "px";
+            dv.style.left = policeL + 63 + "px";
             dv.style.top = policeT - 79 + "px";
 
             // dv1.style.left = policeL + 112 + "px";
@@ -270,7 +270,7 @@ export default {
             spP < -40 &&
             type == 1
           ) {
-            dv.style.left = policeL + 66.5 + "px";
+            dv.style.left = policeL + 63 + "px";
             dv.style.top = policeT - 79 + "px";
 
             if (binding.value.getA() == 1) {
@@ -323,7 +323,7 @@ export default {
           }
 
           if (binding.value.getC() == 1 && type == 3) {
-            dv.style.left = nl + 66.5 + "px";
+            dv.style.left = nl + 63 + "px";
             dv.style.top = nt - 79 + "px";
           }
 
@@ -332,7 +332,7 @@ export default {
             type == 3 &&
             binding.value.getA() != 2
           ) {
-            dv.style.left = nl + 66.5 + "px";
+            dv.style.left = nl + 63 + "px";
             dv.style.top = nt - 79 + "px";
 
           } else if (
@@ -350,7 +350,7 @@ export default {
             dv2.style.left = nl + 63 + "px";
             dv2.style.top = nt - 79 + "px";
 
-            dv.style.left = nl + 66.5 + "px";
+            dv.style.left = nl + 63 + "px";
             dv.style.top = nt - 79 + "px";
 
           } else if (
@@ -361,7 +361,7 @@ export default {
             dv2.style.left = nl + 63 + "px";
             dv2.style.top = nt - 79 + "px";
 
-            dv.style.left = nl + 66.5 + "px";
+            dv.style.left = nl + 63 + "px";
             dv.style.top = nt - 79 + "px";
           } else if (
             binding.value.getA() == 2 &&
@@ -372,7 +372,7 @@ export default {
             dv2.style.left = nl + 63 + "px";
             dv2.style.top = nt - 79 + "px";
 
-            dv.style.left = nl + 66.5 + "px";
+            dv.style.left = nl + 63 + "px";
             dv.style.top = nt - 79 + "px";
 
           } else if (
@@ -384,7 +384,7 @@ export default {
             dv2.style.left = nl + 63 + "px";
             dv2.style.top = nt - 79 + "px";
 
-            dv.style.left = nl + 66.5 + "px";
+            dv.style.left = nl + 63 + "px";
             dv.style.top = nt - 79 + "px";
           } else if (
             binding.value.getA() == 2 &&
@@ -395,7 +395,7 @@ export default {
             dv2.style.left = nl + 63 + "px";
             dv2.style.top = nt - 79 + "px";
 
-            dv.style.left = nl + 66.5 + "px";
+            dv.style.left = nl + 63 + "px";
             dv.style.top = nt - 79 + "px";
           }
         }
@@ -468,7 +468,7 @@ body {
 }
 
 #screan {
-  width: 105px;
+  width: 110px;
   position: absolute;
   left: 10%;
   top: 50%;

+ 945 - 0
src/components/traffic.vue

@@ -0,0 +1,945 @@
+<template>
+  <div>
+    <div class="tip">
+      <img src="../assets/img/shop/tips.png" alt="" />
+    </div>
+    <div class="img">
+      <div
+        id="ai"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/ai.png" alt="" />
+      </div>
+      <div
+        id="light1"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/light1.png" alt="" />
+      </div>
+      <div
+        id="line"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/line.png" alt="" />
+      </div>
+      <div
+        id="light2"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/light2.png" alt="" />
+      </div>
+      <div
+        id="G1"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/G1.png" alt="" />
+      </div>
+      <div
+        id="G5"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/G5.png" alt="" />
+      </div>
+      <div
+        id="G2"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/G2.png" alt="" />
+      </div>
+      <div
+        id="G4"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/G4.png" alt="" />
+      </div>
+      <div
+        id="G3"
+        v-drag="{
+          go,
+          setPan,
+          getPan,
+          setAi,
+          getAi,
+          setG5,
+          getG5,
+          setG4,
+          getG4,
+          setG2,
+          getG2,
+          setG3,
+          getG3,
+          setLight1,
+          getLight1,
+          setLight2,
+          getLight2,
+          setLine,
+          getLine,
+        }"
+      >
+        <img src="../assets/img/traffic/G3.png" alt="" />
+      </div>
+    </div>
+    <div class="right"><img src="../assets/img/right.png" alt="" /></div>
+    <div class="button">进入CocoBlockly编程平台</div>
+    <video
+      id="musicC"
+      :src="require('../assets/music/click.mp3')"
+      v-show="false"
+    ></video>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      that: this,
+      panThing: "",
+      ai: "",
+      G5: "",
+      G4: "",
+      G2: "",
+      G3: "",
+      Light1: "",
+      Light2: "",
+      Line: "",
+    };
+  },
+  directives: {
+    drag: {
+      // 指令的定义
+      inserted: function (el, binding) {
+        // el.drag();
+        console.log(el);
+        //获取元素
+        // var dv = document.getElementById("dv");
+        let x = 0;
+        let y = 0;
+        let l = 0;
+        let t = 0;
+        let isDown = false;
+        var _ai = document.getElementById("ai");
+        var _G1 = document.getElementById("G1");
+        var _G5 = document.getElementById("G5");
+        var _G4 = document.getElementById("G4");
+        var _G2 = document.getElementById("G2");
+        var _G3 = document.getElementById("G3");
+        var _light1 = document.getElementById("light1");
+        var _light2 = document.getElementById("light2");
+        var _line = document.getElementById("line");
+
+        //鼠标按下事件
+        el.onmousedown = function (e) {
+          //获取x坐标和y坐标
+          e.preventDefault();
+          x = e.clientX;
+          y = e.clientY;
+
+          //获取左部和顶部的偏移量
+          l = el.offsetLeft;
+          t = el.offsetTop;
+          //开关打开
+          isDown = true;
+          //设置样式
+          el.style.cursor = "move";
+          subiao(el);
+        };
+        function subiao(cdiv) {
+          document.onmousemove = function (e) {
+            if (isDown == false) {
+              return;
+            }
+            //获取x和y
+            var nx = e.clientX;
+            var ny = e.clientY;
+            //计算移动后的左偏移量和顶部的偏移量
+            var nl = nx - (x - l);
+            var nt = ny - (y - t);
+
+            cdiv.style.left = nl + "px";
+            cdiv.style.top = nt + "px";
+
+            if (el.id == "ai") {
+              binding.value.setPan("ai");
+              moveP(nl, nt, "ai");
+            }
+
+            if (el.id == "G1") {
+              binding.value.setPan("G1");
+              moveP(nl, nt, "G1");
+            }
+            if (el.id == "G5") {
+              binding.value.setPan("G5");
+              moveP(nl, nt, "G5");
+            }
+            if (el.id == "G4") {
+              binding.value.setPan("G4");
+              moveP(nl, nt, "G4");
+            }
+            if (el.id == "G2") {
+              binding.value.setPan("G2");
+              moveP(nl, nt, "G2");
+            }
+            if (el.id == "G3") {
+              binding.value.setPan("G3");
+              moveP(nl, nt, "G3");
+            }
+            if (el.id == "light1") {
+              binding.value.setPan("light1");
+              moveP(nl, nt, "light1");
+            }
+            if (el.id == "light2") {
+              binding.value.setPan("light2");
+              moveP(nl, nt, "light2");
+            }
+            if (el.id == "line") {
+              binding.value.setPan("line");
+              moveP(nl, nt, "line");
+            }
+          };
+        }
+        //鼠标抬起事件
+        el.onmouseup = function (e) {
+          //开关关闭
+          isDown = false;
+          el.style.cursor = "default";
+          document.onmousemove = null;
+          var nx = e.clientX;
+          var ny = e.clientY;
+          var nl = nx - (x - l);
+          var nt = ny - (y - t);
+
+          if (binding.value.getPan() == "ai") {
+            st(nl, nt, "ai");
+          }
+
+          if (binding.value.getPan() == "G1") {
+            st(nl, nt, "G1");
+          }
+
+          if (binding.value.getPan() == "G5") {
+            st(nl, nt, "G5");
+          }
+
+          if (binding.value.getPan() == "G4") {
+            st(nl, nt, "G4");
+          }
+          if (binding.value.getPan() == "G2") {
+            st(nl, nt, "G2");
+          }
+          if (binding.value.getPan() == "G3") {
+            st(nl, nt, "G3");
+          }
+          if (binding.value.getPan() == "light1") {
+            st(nl, nt, "light1");
+          }
+          if (binding.value.getPan() == "light2") {
+            st(nl, nt, "light2");
+          }
+          if (binding.value.getPan() == "line") {
+            st(nl, nt, "line");
+          }
+          pan();
+        };
+        function pan() {
+          var policeL = _G1.offsetLeft;
+          var policeT = _G1.offsetTop;
+
+          var btn = document.getElementsByClassName("button")[0];
+          var right = document.getElementsByClassName("right")[0];
+
+          if (
+            binding.value.getAi() === 1 &&
+            binding.value.getG5() === 1 &&
+            binding.value.getG4() === 1 &&
+            binding.value.getG2() === 1 &&
+            binding.value.getG3() === 1 &&
+            ((binding.value.getLight1() === 1 &&
+              binding.value.getLight2() === 1) ||
+              (binding.value.getLight1() === 2 &&
+                binding.value.getLight2() === 2) ||
+              (binding.value.getLight1() === 2 &&
+                binding.value.getLight2() === 1) ||
+              (binding.value.getLight1() === 1 &&
+                binding.value.getLight2() === 1)) &&
+            binding.value.getLine() === 1
+          ) {
+            btn.className = "button dark";
+            btn.onclick = function () {
+              binding.value.go();
+            };
+            right.style.display = "block";
+            right.style.left = policeL + 300 + "px";
+            right.style.top = policeT + 35 + "px";
+          } else {
+            btn.className = "button";
+            btn.onclick = null;
+            right.style.display = "none";
+          }
+        }
+        function st(nl, nt, type) {
+          var _aiL = _ai.offsetLeft;
+          var _aiT = _ai.offsetTop;
+
+          var _G1L = _G1.offsetLeft;
+          var _G1T = _G1.offsetTop;
+
+          var _G5L = _G5.offsetLeft;
+          var _G5T = _G5.offsetTop;
+
+          var _G4L = _G4.offsetLeft;
+          var _G4T = _G4.offsetTop;
+
+          var _G2L = _G2.offsetLeft;
+          var _G2T = _G2.offsetTop;
+
+          var _G3L = _G3.offsetLeft;
+          var _G3T = _G3.offsetTop;
+
+          var _light1L = _light1.offsetLeft;
+          var _light1T = _light1.offsetTop;
+
+          var _light2L = _light2.offsetLeft;
+          var _light2T = _light2.offsetTop;
+
+          var _lineL = _line.offsetLeft;
+          var _lineT = _line.offsetTop;
+
+          var ag1L = _aiL - _G1L;
+          var ag1T = _aiT - _G1T;
+
+          var g5g1L = _G5L - _G1L;
+          var g5g1T = _G5T - _G1T;
+
+          var g4g1L = _G4L - _G1L;
+          var g4g1T = _G4T - _G1T;
+
+          var g2g1L = _G2L - _G1L;
+          var g2g1T = _G2T - _G1T;
+
+          var g3g1L = _G3L - _G1L;
+          var g3g1T = _G3T - _G1T;
+
+          var l1g1L = _light1L - _G1L;
+          var l1g1T = _light1T - _G1T;
+
+          var l2g1L = _light2L - _G1L;
+          var l2g1T = _light2T - _G1T;
+
+          var lg1L = _lineL - _G1L;
+          var lg1T = _lineT - _G1T;
+
+          var l1lL = _light1L - _lineL;
+          var l1lT = _light1T - _lineT;
+
+          var l2lL = _light2L - _lineL;
+          var l2lT = _light2T - _lineT;
+
+          if (
+            22 < ag1L &&
+            ag1L < 62 &&
+            -156 < ag1T &&
+            ag1T < -116 &&
+            type == "ai"
+          ) {
+            _ai.style.left = _G1L + 42 + "px";
+            _ai.style.top = _G1T - 136 + "px";
+            binding.value.setAi(1);
+            playMusic();
+          } else if (type == "ai") {
+            binding.value.setAi(0);
+          }
+
+          if (
+            -10 < g5g1L &&
+            g5g1L < 30 &&
+            -165 < g5g1T &&
+            g5g1T < -125 &&
+            type == "G5"
+          ) {
+            _G5.style.left = _G1L + 10 + "px";
+            _G5.style.top = _G1T - 145 + "px";
+            binding.value.setG5(1);
+            playMusic();
+          } else if (type == "G5") {
+            binding.value.setG5(0);
+          }
+
+          if (
+            -20 < g4g1L &&
+            g4g1L < 20 &&
+            -58 < g4g1T &&
+            g4g1T < -18 &&
+            type == "G4"
+          ) {
+            _G4.style.left = _G1L + "px";
+            _G4.style.top = _G1T - 38 + "px";
+            binding.value.setG4(1);
+            playMusic();
+          } else if (type == "G4") {
+            binding.value.setG4(0);
+          }
+
+          if (
+            95 < g2g1L &&
+            g2g1L < 135 &&
+            84 < g2g1T &&
+            g2g1T < 124 &&
+            type == "G2"
+          ) {
+            _G2.style.left = _G1L + 115 + "px";
+            _G2.style.top = _G1T + 104 + "px";
+            binding.value.setG2(1);
+            playMusic();
+          } else if (type == "G2") {
+            binding.value.setG2(0);
+          }
+
+          if (
+            24 < g3g1L &&
+            g3g1L < 64 &&
+            87 < g3g1T &&
+            g3g1T < 127 &&
+            type == "G3" &&
+            binding.value.getG2() == 1
+          ) {
+            _G3.style.left = _G1L + 44 + "px";
+            _G3.style.top = _G1T + 107 + "px";
+            binding.value.setG3(1);
+            playMusic();
+          } else if (type == "G3") {
+            binding.value.setG3(0);
+          }
+
+          if (
+            24 < l1g1L &&
+            l1g1L < 64 &&
+            -156 < l1g1T &&
+            l1g1T < -116 &&
+            type == "light1"
+          ) {
+            _light1.style.left = _G1L + 44 + "px";
+            _light1.style.top = _G1T - 136 + "px";
+            binding.value.setLight1(1);
+            playMusic();
+          } else if (
+            24 < l1lL &&
+            l1lL < 64 &&
+            29 < l1lT &&
+            l1lT < 69 &&
+            type == "light1"
+          ) {
+            _light1.style.left = _lineL + 44 + "px";
+            _light1.style.top = _lineT + 49 + "px";
+            binding.value.setLight1(2);
+            playMusic();
+          } else if (type == "light1") {
+            binding.value.setLight1(0);
+          }
+
+          if (
+            -38 < l2g1L &&
+            l2g1L < 8 &&
+            -171 < l2g1T &&
+            l2g1T < -131 &&
+            type == "light2"
+          ) {
+            _light2.style.left = _G1L - 18 + "px";
+            _light2.style.top = _G1T - 151 + "px";
+            binding.value.setLight2(1);
+            playMusic();
+          } else if (
+            -38 < l2lL &&
+            l2lL < 2 &&
+            14 < l2lT &&
+            l2lT < 54 &&
+            type == "light2"
+          ) {
+            _light2.style.left = _lineL - 18 + "px";
+            _light2.style.top = _lineT + 34 + "px";
+            binding.value.setLight2(2);
+            playMusic();
+          } else if (type == "light2") {
+            binding.value.setLight2(0);
+          }
+
+          if (
+            -20 < lg1L &&
+            lg1L < 20 &&
+            -205 < lg1T &&
+            lg1T < -165 &&
+            type == "line" &&
+            (binding.value.getLight1() === 1 ||
+              binding.value.getLight2() === 1 ||
+              binding.value.getLight1() === 2 ||
+              binding.value.getLight2() === 2)
+          ) {
+            _line.style.left = _G1L + "px";
+            _line.style.top = _G1T - 185 + "px";
+            if (
+              binding.value.getLight1() === 2 ||
+              binding.value.getLight1() === 1
+            ) {
+              _light1.style.left = _G1L + 44 + "px";
+              _light1.style.top = _G1T - 136 + "px";
+            }
+            if (
+              binding.value.getLight2() === 2 ||
+              binding.value.getLight2() === 1
+            ) {
+              _light2.style.left = _G1L - 18 + "px";
+              _light2.style.top = _G1T - 151 + "px";
+            }
+            binding.value.setLine(1);
+            playMusic();
+          } else if (type == "line") {
+            binding.value.setLine(0);
+          }
+        }
+        function playMusic() {
+          musicC.play();
+        }
+
+        function moveP(nl, nt, type) {
+          if (binding.value.getAi() === 1 && type == "G1") {
+            _ai.style.left = nl + 42 + "px";
+            _ai.style.top = nt - 136 + "px";
+          }
+
+          if (binding.value.getG5() === 1 && type == "G1") {
+            _G5.style.left = nl + 10 + "px";
+            _G5.style.top = nt - 145 + "px";
+          }
+          if (binding.value.getG4() === 1 && type == "G1") {
+            _G4.style.left = nl + "px";
+            _G4.style.top = nt - 38 + "px";
+          }
+
+          if (binding.value.getG2() === 1 && type == "G1") {
+            _G2.style.left = nl + 115 + "px";
+            _G2.style.top = nt + 104 + "px";
+          }
+
+          if (binding.value.getG3() === 1 && type == "G1") {
+            _G3.style.left = nl + 44 + "px";
+            _G3.style.top = nt + 107 + "px";
+          }
+
+          if (
+            (binding.value.getLight1() === 1 ||
+              (binding.value.getLight1() === 2 &&
+                binding.value.getLine() === 1)) &&
+            type == "G1"
+          ) {
+            _light1.style.left = nl + 44 + "px";
+            _light1.style.top = nt - 136 + "px";
+          }
+
+          if (
+            (binding.value.getLight2() === 1 ||
+              (binding.value.getLight2() === 2 &&
+                binding.value.getLine() === 1)) &&
+            type == "G1"
+          ) {
+            _light2.style.left = nl - 18 + "px";
+            _light2.style.top = nt - 151 + "px";
+          }
+          if (binding.value.getLine() === 1 && type == "G1") {
+            _line.style.left = nl + "px";
+            _line.style.top = nt - 185 + "px";
+          }
+
+          if (binding.value.getLight1() === 2 && type == "line") {
+            _light1.style.left = nl + 44 + "px";
+            _light1.style.top = nt + 49 + "px";
+          }
+
+          if (binding.value.getLight2() === 2 && type == "line") {
+            _light2.style.left = nl - 18 + "px";
+            _light2.style.top = nt + 34 + "px";
+          }
+
+          if (
+            binding.value.getLight1() === 1 &&
+            binding.value.getLine() === 1 &&
+            type == "line"
+          ) {
+            _light1.style.left = nl + 44 + "px";
+            _light1.style.top = nt + 49 + "px";
+            binding.value.setLight1(2);
+          }
+
+          if (
+            binding.value.getLight2() === 1 &&
+            binding.value.getLine() === 1 &&
+            type == "line"
+          ) {
+            _light2.style.left = nl - 18 + "px";
+            _light2.style.top = nt + 34 + "px";
+            binding.value.setLight2(2);
+          }
+        }
+      },
+    },
+  },
+  methods: {
+    go() {
+      this.$router.push("/blockly");
+    },
+    setPan(value) {
+      this.panThing = value;
+    },
+    getPan() {
+      return this.panThing;
+    },
+    setAi(value) {
+      this.ai = value;
+    },
+    getAi() {
+      return this.ai;
+    },
+    setG5(value) {
+      this.G5 = value;
+    },
+    getG5() {
+      return this.G5;
+    },
+    setG4(value) {
+      this.G4 = value;
+    },
+    getG4() {
+      return this.G4;
+    },
+    setG2(value) {
+      this.G2 = value;
+    },
+    getG2() {
+      return this.G2;
+    },
+    setG3(value) {
+      this.G3 = value;
+    },
+    getG3() {
+      return this.G3;
+    },
+    setLight1(value) {
+      this.Light1 = value;
+    },
+    getLight1() {
+      return this.Light1;
+    },
+    setLight2(value) {
+      this.Light2 = value;
+    },
+    getLight2() {
+      return this.Light2;
+    },
+    setLine(value) {
+      this.Line = value;
+    },
+    getLine() {
+      return this.Line;
+    },
+  },
+};
+</script>
+
+<style scoped>
+html,
+body {
+  margin: 0;
+  padding: 0;
+  width: 100%;
+}
+
+.tip {
+  margin: 25px 0 30px 20px;
+  width: 419px;
+}
+
+.right > img,
+#ai > img,
+#light1 > img,
+#line > img,
+#light2 > img,
+#G1 > img,
+#G5 > img,
+#G4 > img,
+#G2 > img,
+#G3 > img {
+  width: 100%;
+  height: 100%;
+  user-select: none;
+}
+
+.img {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-end;
+  margin: auto;
+  width: 70%;
+  /* position: relative; */
+}
+
+#ai {
+  width: 170px;
+  position: absolute;
+  top: 45%;
+  left: 20%;
+  transform: translateY(-50%);
+  z-index: 5;
+}
+
+#light1 {
+  width: 165px;
+  position: absolute;
+  top: 65%;
+  left: 20%;
+  transform: translateY(-50%);
+  z-index: 5;
+}
+#line {
+  width: 200px;
+  position: absolute;
+  top: 45%;
+  left: 19.2%;
+  transform: translateY(-50%);
+  z-index: 3;
+}
+#light2 {
+  width: 40px;
+  position: absolute;
+  left: 31%;
+  top: 64%;
+  transform: translateY(-50%);
+  z-index: 6;
+}
+#G1 {
+  width: 235px;
+  position: absolute;
+  left: 38%;
+  top: 56%;
+  transform: translateY(-50%);
+  z-index: 4;
+}
+#G5 {
+  width: 27px;
+  position: absolute;
+  left: 56%;
+  top: 58%;
+  transform: translateY(-50%);
+  z-index: 9;
+}
+
+#G4 {
+  width: 240px;
+  position: absolute;
+  left: 55%;
+  top: 32%;
+  transform: translateY(-50%);
+  z-index: 9;
+}
+#G2 {
+  width: 25px;
+  position: absolute;
+  left: 60%;
+  top: 57%;
+  transform: translateY(-50%);
+  z-index: 6;
+}
+#G3 {
+  width: 170px;
+  position: absolute;
+  left: 65%;
+  top: 58%;
+  transform: translateY(-50%);
+  z-index: 9;
+}
+.button {
+  color: #fff;
+  background: #8ca1de;
+  width: 550px;
+  height: 55px;
+  font-size: 20px;
+  text-align: center;
+  line-height: 55px;
+  position: absolute;
+  bottom: 10%;
+  left: 50%;
+  transform: translateX(-50%);
+  user-select: none;
+}
+
+.right {
+  width: 40px;
+  position: absolute;
+  left: 55%;
+  top: 70%;
+  display: none;
+}
+
+.dark {
+  background: #5b79d0;
+  cursor: pointer;
+}
+</style>

+ 12 - 0
src/components/tuoDemo.vue

@@ -8,6 +8,8 @@
         id="screan"
         v-drag="{
           go,
+          setPan,
+          getPan,
         }"
       >
         <img src="../assets/img/light/screan.png" alt="" />
@@ -16,6 +18,8 @@
         id="tou"
         v-drag="{
           go,
+          setPan,
+          getPan,
         }"
       >
         <img src="../assets/img/tou1.png" alt="" />
@@ -24,6 +28,8 @@
         id="ai"
         v-drag="{
           go,
+          setPan,
+          getPan,
         }"
       >
         <img src="../assets/img/ai.png" alt="" />
@@ -32,6 +38,8 @@
         id="jjj1"
         v-drag="{
           go,
+          setPan,
+          getPan,
         }"
       >
         <img src="../assets/img/shop/j21.png" alt="" />
@@ -40,6 +48,8 @@
         id="jjj2"
         v-drag="{
           go,
+          setPan,
+          getPan,
         }"
       >
         <img src="../assets/img/shop/j22.png" alt="" />
@@ -48,6 +58,8 @@
         id="police"
         v-drag="{
           go,
+          setPan,
+          getPan,
         }"
       >
         <img src="../assets/img/shop/j1.png" alt="" />