door.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404
  1. <template>
  2. <div>
  3. <div class="tip">
  4. <img src="../assets/img/doorJs.png" alt="" />
  5. </div>
  6. <div class="img">
  7. <div
  8. id="two"
  9. v-drag="{
  10. go,
  11. setPan,
  12. getPan,
  13. setTwo,
  14. getTwo,
  15. setThree,
  16. getThree,
  17. setFour,
  18. getFour,
  19. setFive,
  20. getFive,
  21. setSix,
  22. getSix,
  23. setSeven,
  24. getSeven,
  25. setEight,
  26. getEight,
  27. setNight,
  28. getNight,
  29. setTen,
  30. getTen,
  31. setEleven,
  32. getEleven,
  33. setTwelve,
  34. getTwelve,
  35. setThirteen,
  36. getThirteen,
  37. }"
  38. >
  39. <img src="../assets/img/door/bTwo.png" alt="" />
  40. </div>
  41. <div
  42. id="three"
  43. v-drag="{
  44. go,
  45. setPan,
  46. getPan,
  47. setTwo,
  48. getTwo,
  49. setThree,
  50. getThree,
  51. setFour,
  52. getFour,
  53. setFive,
  54. getFive,
  55. setSix,
  56. getSix,
  57. setSeven,
  58. getSeven,
  59. setEight,
  60. getEight,
  61. setNight,
  62. getNight,
  63. setTen,
  64. getTen,
  65. setEleven,
  66. getEleven,
  67. setTwelve,
  68. getTwelve,
  69. setThirteen,
  70. getThirteen,
  71. }"
  72. >
  73. <img src="../assets/img/door/bThree.png" alt="" />
  74. </div>
  75. <div
  76. id="door"
  77. v-drag="{
  78. go,
  79. setPan,
  80. getPan,
  81. setTwo,
  82. getTwo,
  83. setThree,
  84. getThree,
  85. setFour,
  86. getFour,
  87. setFive,
  88. getFive,
  89. setSix,
  90. getSix,
  91. setSeven,
  92. getSeven,
  93. setEight,
  94. getEight,
  95. setNight,
  96. getNight,
  97. setTen,
  98. getTen,
  99. setEleven,
  100. getEleven,
  101. setTwelve,
  102. getTwelve,
  103. setThirteen,
  104. getThirteen,
  105. }"
  106. >
  107. <img src="../assets/img/door/door.png" alt="" />
  108. </div>
  109. <div
  110. id="jjj1"
  111. v-drag="{
  112. go,
  113. setPan,
  114. getPan,
  115. setTwo,
  116. getTwo,
  117. setThree,
  118. getThree,
  119. setFour,
  120. getFour,
  121. setFive,
  122. getFive,
  123. setSix,
  124. getSix,
  125. setSeven,
  126. getSeven,
  127. setEight,
  128. getEight,
  129. setNight,
  130. getNight,
  131. setTen,
  132. getTen,
  133. setEleven,
  134. getEleven,
  135. setTwelve,
  136. getTwelve,
  137. setThirteen,
  138. getThirteen,
  139. }"
  140. >
  141. <img src="../assets/img/door/gear.png" alt="" />
  142. </div>
  143. <div
  144. id="jjj2"
  145. v-drag="{
  146. go,
  147. setPan,
  148. getPan,
  149. setTwo,
  150. getTwo,
  151. setThree,
  152. getThree,
  153. setFour,
  154. getFour,
  155. setFive,
  156. getFive,
  157. setSix,
  158. getSix,
  159. setSeven,
  160. getSeven,
  161. setEight,
  162. getEight,
  163. setNight,
  164. getNight,
  165. setTen,
  166. getTen,
  167. setEleven,
  168. getEleven,
  169. setTwelve,
  170. getTwelve,
  171. setThirteen,
  172. getThirteen,
  173. }"
  174. >
  175. <img src="../assets/img/door/bFour.png" alt="" />
  176. </div>
  177. <div
  178. id="seven"
  179. v-drag="{
  180. go,
  181. setPan,
  182. getPan,
  183. setTwo,
  184. getTwo,
  185. setThree,
  186. getThree,
  187. setFour,
  188. getFour,
  189. setFive,
  190. getFive,
  191. setSix,
  192. getSix,
  193. setSeven,
  194. getSeven,
  195. setEight,
  196. getEight,
  197. setNight,
  198. getNight,
  199. setTen,
  200. getTen,
  201. setEleven,
  202. getEleven,
  203. setTwelve,
  204. getTwelve,
  205. setThirteen,
  206. getThirteen,
  207. }"
  208. >
  209. <img src="../assets/img/door/bSeven.png" alt="" />
  210. </div>
  211. <div
  212. id="tou"
  213. v-drag="{
  214. go,
  215. setPan,
  216. getPan,
  217. setTwo,
  218. getTwo,
  219. setThree,
  220. getThree,
  221. setFour,
  222. getFour,
  223. setFive,
  224. getFive,
  225. setSix,
  226. getSix,
  227. setSeven,
  228. getSeven,
  229. setEight,
  230. getEight,
  231. setNight,
  232. getNight,
  233. setTen,
  234. getTen,
  235. setEleven,
  236. getEleven,
  237. setTwelve,
  238. getTwelve,
  239. setThirteen,
  240. getThirteen,
  241. }"
  242. >
  243. <img src="../assets/img/door/tou.png" alt="" />
  244. </div>
  245. <div
  246. id="arm"
  247. v-drag="{
  248. go,
  249. setPan,
  250. getPan,
  251. setTwo,
  252. getTwo,
  253. setThree,
  254. getThree,
  255. setFour,
  256. getFour,
  257. setFive,
  258. getFive,
  259. setSix,
  260. getSix,
  261. setSeven,
  262. getSeven,
  263. setEight,
  264. getEight,
  265. setNight,
  266. getNight,
  267. setTen,
  268. getTen,
  269. setEleven,
  270. getEleven,
  271. setTwelve,
  272. getTwelve,
  273. setThirteen,
  274. getThirteen,
  275. }"
  276. >
  277. <img src="../assets/img/door/arm.png" alt="" />
  278. </div>
  279. <div
  280. id="screan"
  281. v-drag="{
  282. go,
  283. setPan,
  284. getPan,
  285. setTwo,
  286. getTwo,
  287. setThree,
  288. getThree,
  289. setFour,
  290. getFour,
  291. setFive,
  292. getFive,
  293. setSix,
  294. getSix,
  295. setSeven,
  296. getSeven,
  297. setEight,
  298. getEight,
  299. setNight,
  300. getNight,
  301. setTen,
  302. getTen,
  303. setEleven,
  304. getEleven,
  305. setTwelve,
  306. getTwelve,
  307. setThirteen,
  308. getThirteen,
  309. }"
  310. >
  311. <img src="../assets/img/door/screan.png" alt="" />
  312. </div>
  313. <div
  314. id="ai"
  315. v-drag="{
  316. go,
  317. setPan,
  318. getPan,
  319. setTwo,
  320. getTwo,
  321. setThree,
  322. getThree,
  323. setFour,
  324. getFour,
  325. setFive,
  326. getFive,
  327. setSix,
  328. getSix,
  329. setSeven,
  330. getSeven,
  331. setEight,
  332. getEight,
  333. setNight,
  334. getNight,
  335. setTen,
  336. getTen,
  337. setEleven,
  338. getEleven,
  339. setTwelve,
  340. getTwelve,
  341. setThirteen,
  342. getThirteen,
  343. }"
  344. >
  345. <img src="../assets/img/door/ai.png" alt="" />
  346. </div>
  347. <div
  348. id="bottom"
  349. v-drag="{
  350. go,
  351. setPan,
  352. getPan,
  353. setTwo,
  354. getTwo,
  355. setThree,
  356. getThree,
  357. setFour,
  358. getFour,
  359. setFive,
  360. getFive,
  361. setSix,
  362. getSix,
  363. setSeven,
  364. getSeven,
  365. setEight,
  366. getEight,
  367. setNight,
  368. getNight,
  369. setTen,
  370. getTen,
  371. setEleven,
  372. getEleven,
  373. setTwelve,
  374. getTwelve,
  375. setThirteen,
  376. getThirteen,
  377. }"
  378. >
  379. <img src="../assets/img/door/bottom.png" alt="" />
  380. </div>
  381. <div
  382. id="five"
  383. v-drag="{
  384. go,
  385. setPan,
  386. getPan,
  387. setTwo,
  388. getTwo,
  389. setThree,
  390. getThree,
  391. setFour,
  392. getFour,
  393. setFive,
  394. getFive,
  395. setSix,
  396. getSix,
  397. setSeven,
  398. getSeven,
  399. setEight,
  400. getEight,
  401. setNight,
  402. getNight,
  403. setTen,
  404. getTen,
  405. setEleven,
  406. getEleven,
  407. setTwelve,
  408. getTwelve,
  409. setThirteen,
  410. getThirteen,
  411. }"
  412. >
  413. <img src="../assets/img/door/bFive.png" alt="" />
  414. </div>
  415. <div
  416. id="six"
  417. v-drag="{
  418. go,
  419. setPan,
  420. getPan,
  421. setTwo,
  422. getTwo,
  423. setThree,
  424. getThree,
  425. setFour,
  426. getFour,
  427. setFive,
  428. getFive,
  429. setSix,
  430. getSix,
  431. setSeven,
  432. getSeven,
  433. setEight,
  434. getEight,
  435. setNight,
  436. getNight,
  437. setTen,
  438. getTen,
  439. setEleven,
  440. getEleven,
  441. setTwelve,
  442. getTwelve,
  443. setThirteen,
  444. getThirteen,
  445. }"
  446. >
  447. <img src="../assets/img/door/bSix.png" alt="" />
  448. </div>
  449. </div>
  450. <div class="right"><img src="../assets/img/right.png" alt="" /></div>
  451. <div class="xian"><img src="../assets/img/door/xian.png" alt="" /></div>
  452. <div class="button">进入CocoBlockly编程平台</div>
  453. <video
  454. id="musicC"
  455. :src="require('../assets/music/click.mp3')"
  456. v-show="false"
  457. ></video>
  458. </div>
  459. </template>
  460. <script>
  461. export default {
  462. data() {
  463. return {
  464. that: this,
  465. panThing: "",
  466. two: "",
  467. three: "",
  468. four: "",
  469. five: "",
  470. six: "",
  471. seven: "",
  472. eight: "",
  473. night: "",
  474. ten: "",
  475. eleven: "",
  476. twelve: "",
  477. thirteen: "",
  478. };
  479. },
  480. directives: {
  481. drag: {
  482. // 指令的定义
  483. inserted: function (el, binding) {
  484. // el.drag();
  485. console.log(el);
  486. //获取元素
  487. // var dv = document.getElementById("dv");
  488. let x = 0;
  489. let y = 0;
  490. let l = 0;
  491. let t = 0;
  492. let isDown = false;
  493. var dv = document.getElementById("two");
  494. var dv1 = document.getElementById("three");
  495. var dv2 = document.getElementById("door");
  496. var dvj1 = document.getElementById("jjj1");
  497. var dvj2 = document.getElementById("jjj2");
  498. var dv3 = document.getElementById("seven");
  499. var dv4 = document.getElementById("tou");
  500. var dv5 = document.getElementById("arm");
  501. var dv6 = document.getElementById("screan");
  502. var dv7 = document.getElementById("ai");
  503. var dv8 = document.getElementById("bottom");
  504. var dv9 = document.getElementById("five");
  505. var dv10 = document.getElementById("six");
  506. var musicC = document.getElementById("musicC");
  507. //鼠标按下事件
  508. el.onmousedown = function (e) {
  509. //获取x坐标和y坐标
  510. e.preventDefault();
  511. x = e.clientX;
  512. y = e.clientY;
  513. //获取左部和顶部的偏移量
  514. l = el.offsetLeft;
  515. t = el.offsetTop;
  516. //开关打开
  517. isDown = true;
  518. //设置样式
  519. el.style.cursor = "move";
  520. subiao(el);
  521. };
  522. function subiao(cdiv) {
  523. document.onmousemove = function (e) {
  524. if (isDown == false) {
  525. return;
  526. }
  527. //获取x和y
  528. var nx = e.clientX;
  529. var ny = e.clientY;
  530. //计算移动后的左偏移量和顶部的偏移量
  531. var nl = nx - (x - l);
  532. var nt = ny - (y - t);
  533. cdiv.style.left = nl + "px";
  534. cdiv.style.top = nt + "px";
  535. if (el.id == "two") {
  536. binding.value.setPan("two");
  537. moveP(nl, nt, 1);
  538. }
  539. if (el.id == "three") {
  540. binding.value.setPan("three");
  541. moveP(nl, nt, 2);
  542. }
  543. if (el.id == "door") {
  544. binding.value.setPan("door");
  545. moveP(nl, nt, 3);
  546. }
  547. if (el.id == "jjj1") {
  548. binding.value.setPan("jjj1");
  549. moveP(nl, nt, 4);
  550. }
  551. if (el.id == "jjj2") {
  552. binding.value.setPan("jjj2");
  553. moveP(nl, nt, 5);
  554. }
  555. if (el.id == "seven") {
  556. binding.value.setPan("seven");
  557. moveP(nl, nt, 6);
  558. }
  559. if (el.id == "tou") {
  560. binding.value.setPan("tou");
  561. moveP(nl, nt, 7);
  562. }
  563. if (el.id == "arm") {
  564. binding.value.setPan("arm");
  565. moveP(nl, nt, 8);
  566. }
  567. if (el.id == "screan") {
  568. binding.value.setPan("screan");
  569. moveP(nl, nt, 9);
  570. }
  571. if (el.id == "ai") {
  572. binding.value.setPan("ai");
  573. moveP(nl, nt, 10);
  574. }
  575. if (el.id == "bottom") {
  576. binding.value.setPan("bottom");
  577. moveP(nl, nt, 11);
  578. }
  579. if (el.id == "five") {
  580. binding.value.setPan("five");
  581. moveP(nl, nt, 12);
  582. }
  583. if (el.id == "six") {
  584. binding.value.setPan("six");
  585. moveP(nl, nt, 13);
  586. }
  587. };
  588. }
  589. //鼠标抬起事件
  590. el.onmouseup = function (e) {
  591. //开关关闭
  592. isDown = false;
  593. el.style.cursor = "default";
  594. document.onmousemove = null;
  595. var nx = e.clientX;
  596. var ny = e.clientY;
  597. var nl = nx - (x - l);
  598. var nt = ny - (y - t);
  599. if (binding.value.getPan() == "two") {
  600. st(nl, nt, 1);
  601. }
  602. if (binding.value.getPan() == "three") {
  603. st(nl, nt, 2);
  604. }
  605. if (binding.value.getPan() == "door") {
  606. st(nl, nt, 3);
  607. }
  608. if (binding.value.getPan() == "jjj1") {
  609. st(nl, nt, 4);
  610. }
  611. if (binding.value.getPan() == "jjj2") {
  612. st(nl, nt, 5);
  613. }
  614. if (binding.value.getPan() == "seven") {
  615. st(nl, nt, 6);
  616. }
  617. if (binding.value.getPan() == "tou") {
  618. st(nl, nt, 7);
  619. }
  620. if (binding.value.getPan() == "arm") {
  621. st(nl, nt, 8);
  622. }
  623. if (binding.value.getPan() == "screan") {
  624. st(nl, nt, 9);
  625. }
  626. if (binding.value.getPan() == "ai") {
  627. st(nl, nt, 10);
  628. }
  629. if (binding.value.getPan() == "bottom") {
  630. st(nl, nt, 11);
  631. }
  632. if (binding.value.getPan() == "five") {
  633. st(nl, nt, 12);
  634. }
  635. if (binding.value.getPan() == "six") {
  636. st(nl, nt, 13);
  637. }
  638. pan();
  639. };
  640. function pan() {
  641. var twoL = dv.offsetLeft;
  642. var twoP = dv.offsetTop;
  643. var threeL = dv1.offsetLeft;
  644. var threeP = dv1.offsetTop;
  645. var doorL = dv2.offsetLeft;
  646. var doorP = dv2.offsetTop;
  647. var j1L = dvj1.offsetLeft;
  648. var j1T = dvj1.offsetTop;
  649. var j2L = dvj2.offsetLeft;
  650. var j2T = dvj2.offsetTop;
  651. var sevenL = dv3.offsetLeft;
  652. var sevenP = dv3.offsetTop;
  653. var touL = dv4.offsetLeft;
  654. var touP = dv4.offsetTop;
  655. var armL = dv5.offsetLeft;
  656. var armP = dv5.offsetTop;
  657. var screanL = dv6.offsetLeft;
  658. var screanP = dv6.offsetTop;
  659. var aiL = dv7.offsetLeft;
  660. var aiP = dv7.offsetTop;
  661. var bottomL = dv8.offsetLeft;
  662. var bottomP = dv8.offsetTop;
  663. var nightL = dv9.offsetLeft;
  664. var nightP = dv9.offsetTop;
  665. var tenL = dv10.offsetLeft;
  666. var tenP = dv10.offsetTop;
  667. var btn = document.getElementsByClassName("button")[0];
  668. var right = document.getElementsByClassName("right")[0];
  669. var xian = document.getElementsByClassName("xian")[0];
  670. if (
  671. binding.value.getTwo() == 1 &&
  672. binding.value.getThree() == 1 &&
  673. binding.value.getFour() == 1 &&
  674. binding.value.getFive() == 1 &&
  675. binding.value.getSix() == 1 &&
  676. binding.value.getSeven() == 1 &&
  677. binding.value.getEight() == 1 &&
  678. binding.value.getNight() == 1 &&
  679. binding.value.getTen() == 1 &&
  680. binding.value.getEleven() == 1 &&
  681. binding.value.getTwelve() == 1 &&
  682. binding.value.getThirteen() == 1
  683. ) {
  684. btn.className = "button dark";
  685. btn.onclick = function () {
  686. binding.value.go();
  687. };
  688. right.style.display = "block";
  689. right.style.left = j2L + 335 + "px";
  690. right.style.top = j2T + 65 + "px";
  691. xian.style.display = "block";
  692. xian.style.left = j1L + 74 + "px";
  693. xian.style.top = j1T - 30 + "px";
  694. } else {
  695. btn.className = "button";
  696. btn.onclick = null;
  697. right.style.display = "none";
  698. xian.style.display = "none";
  699. }
  700. }
  701. function st(nl, nt, type) {
  702. var twoL = dv.offsetLeft;
  703. var twoP = dv.offsetTop;
  704. var threeL = dv1.offsetLeft;
  705. var threeP = dv1.offsetTop;
  706. var doorL = dv2.offsetLeft;
  707. var doorP = dv2.offsetTop;
  708. var j1L = dvj1.offsetLeft;
  709. var j1T = dvj1.offsetTop;
  710. var j2L = dvj2.offsetLeft;
  711. var j2T = dvj2.offsetTop;
  712. var sevenL = dv3.offsetLeft;
  713. var sevenP = dv3.offsetTop;
  714. var touL = dv4.offsetLeft;
  715. var touP = dv4.offsetTop;
  716. var armL = dv5.offsetLeft;
  717. var armP = dv5.offsetTop;
  718. var screanL = dv6.offsetLeft;
  719. var screanP = dv6.offsetTop;
  720. var aiL = dv7.offsetLeft;
  721. var aiP = dv7.offsetTop;
  722. var bottomL = dv8.offsetLeft;
  723. var bottomP = dv8.offsetTop;
  724. var fiveL = dv9.offsetLeft;
  725. var fiveP = dv9.offsetTop;
  726. var sixL = dv10.offsetLeft;
  727. var sixP = dv10.offsetTop;
  728. var oneL = sixL - twoL;
  729. var oneP = sixP - twoP;
  730. var secondL = sixL - threeL;
  731. var secondP = sixP - threeP;
  732. var thirdL = sixL - fiveL;
  733. var thirdP = sixP - fiveP;
  734. var fourthL = threeL - j2L;
  735. var fourthP = threeP - j2T;
  736. var fivthL = fiveL - j1L;
  737. var fivthP = fiveP - j1T;
  738. var sixthL = j2L - screanL;
  739. var sixthP = j2T - screanP;
  740. var seventhL = j2L - aiL;
  741. var seventhP = j2T - aiP;
  742. var eighthL = j2L - bottomL;
  743. var eighthP = j2T - bottomP;
  744. var nighthL = screanL - touL;
  745. var nighthP = screanP - touP;
  746. var tenthL = doorL - sevenL;
  747. var tenthP = doorP - sevenP;
  748. var eleventhL = sevenL - armL;
  749. var eleventhP = sevenP - armP;
  750. var twelfthL = twoL - doorL;
  751. var twelfthP = twoP - doorP;
  752. if (
  753. -59 < oneL &&
  754. oneL < -19 &&
  755. 236 < oneP &&
  756. oneP < 274 &&
  757. type == 1
  758. ) {
  759. dv.style.left = sixL + 39 + "px";
  760. dv.style.top = sixP - 256 + "px";
  761. binding.value.setTwo(1); //设置第一个j2可以跟着j1一起动
  762. playMusic();
  763. } else if (type == 1) {
  764. binding.value.setTwo(0);
  765. }
  766. if (
  767. -426 < secondL &&
  768. secondL < -386 &&
  769. 236 < secondP &&
  770. secondP < 278 &&
  771. type == 2
  772. ) {
  773. dv1.style.left = sixL + 406 + "px";
  774. dv1.style.top = sixP - 256 + "px";
  775. binding.value.setThree(1); //设置第一个j2可以跟着j1一起动
  776. playMusic();
  777. } else if (type == 2) {
  778. binding.value.setThree(0);
  779. }
  780. if (
  781. -17 < thirdL &&
  782. thirdL < 23 &&
  783. 489 < thirdP &&
  784. thirdP < 529 &&
  785. type == 12 &&
  786. binding.value.getTwo() == 1 &&
  787. binding.value.getThree() == 1
  788. ) {
  789. dv9.style.left = sixL + 3 + "px";
  790. dv9.style.top = sixP - 509 + "px";
  791. binding.value.setFour(1); //设置第一个j2可以跟着j1一起动
  792. playMusic();
  793. } else if (type == 12) {
  794. binding.value.setFour(0);
  795. }
  796. if (
  797. -61 < twelfthL &&
  798. twelfthL < -13 &&
  799. -37 < twelfthP &&
  800. twelfthP < 43 &&
  801. type == 3 &&
  802. binding.value.getTwo() == 1 &&
  803. binding.value.getThree() == 1 &&
  804. binding.value.getFour() == 1
  805. ) {
  806. dv2.style.left = twoL + 24 + "px";
  807. dv2.style.top = twoP - 6 + "px";
  808. if (binding.value.getSeven() == 1) {
  809. dv3.style.left = twoL + 24 + 39 + "px";
  810. dv3.style.top = twoP - 6 - 222 + "px";
  811. }
  812. if (binding.value.getEight() == 1 && binding.value.getSeven() == 1) {
  813. dv5.style.left = twoL + 24 + 4 + "px";
  814. dv5.style.top = twoP - 6 - 242 + "px";
  815. }
  816. binding.value.setFive(1); //设置第一个j2可以跟着j1一起动
  817. playMusic();
  818. } else if (type == 3) {
  819. binding.value.setFive(0);
  820. }
  821. if (
  822. -47 < fourthL &&
  823. fourthL < 272 &&
  824. -451 < fourthP &&
  825. fourthP < -30 &&
  826. type == 5
  827. ) {
  828. dvj2.style.left = threeL + 28 + "px";
  829. dvj2.style.top = threeP + 118 + "px";
  830. if (binding.value.getThirteen() == 1) {
  831. dv6.style.left = threeL + 28 + 37 + "px";
  832. dv6.style.top = threeP + 118 - 49 + "px";
  833. if (binding.value.getTwelve() == 1) {
  834. dv4.style.left = threeL + 28 + 37 + 45 + "px";
  835. dv4.style.top = threeP + 118 - 49 - 70 + "px";
  836. }
  837. }
  838. if (binding.value.getEleven() == 1) {
  839. dv7.style.left = threeL + 28 + 36 + "px";
  840. dv7.style.top = threeP + 118 - 50 + "px";
  841. }
  842. if (binding.value.getTen() == 1) {
  843. dv8.style.left = threeL + 28 + 36 + "px";
  844. dv8.style.top = threeP + 118 - 50 + "px";
  845. }
  846. binding.value.setSix(1); //设置第一个j2可以跟着j1一起动
  847. playMusic();
  848. } else if (type == 5) {
  849. binding.value.setSix(0);
  850. }
  851. if (
  852. -52 < tenthL &&
  853. tenthL < -28 &&
  854. 173 < tenthP &&
  855. tenthP < 257 &&
  856. type == 6
  857. ) {
  858. dv3.style.left = doorL + 39 + "px";
  859. dv3.style.top = doorP - 227 + "px";
  860. if (binding.value.getEight() == 1) {
  861. dv5.style.left = doorL + 39 - 36 + "px";
  862. dv5.style.top = doorP - 227 - 20 + "px";
  863. }
  864. binding.value.setSeven(1); //设置第一个j2可以跟着j1一起动
  865. playMusic();
  866. } else if (type == 6) {
  867. binding.value.setSeven(0);
  868. }
  869. if (
  870. -27 < eleventhL &&
  871. eleventhL < 62 &&
  872. 3 < eleventhP &&
  873. eleventhP < 32 &&
  874. type == 8
  875. ) {
  876. dv5.style.left = sevenL - 36 + "px";
  877. dv5.style.top = sevenP - 20 + "px";
  878. binding.value.setEight(1); //设置第一个j2可以跟着j1一起动
  879. playMusic();
  880. } else if (type == 8) {
  881. binding.value.setEight(0);
  882. }
  883. if (
  884. -67 < fivthL &&
  885. fivthL < 34 &&
  886. -2 < fivthP &&
  887. fivthP < 71 &&
  888. type == 4 &&
  889. binding.value.getFour() == 1
  890. ) {
  891. dvj1.style.left = fiveL + 5 + "px";
  892. dvj1.style.top = fiveP - 33 + "px";
  893. dvj1.style.zIndex = 1;
  894. binding.value.setNight(1); //设置第一个j2可以跟着j1一起动
  895. playMusic();
  896. } else if (type == 4) {
  897. binding.value.setNight(0);
  898. }
  899. if (
  900. -206 < eighthL &&
  901. eighthL < 100 &&
  902. -66 < eighthP &&
  903. eighthP < 204 &&
  904. type == 11
  905. ) {
  906. dv8.style.left = j2L + 36 + "px";
  907. dv8.style.top = j2T - 51 + "px";
  908. binding.value.setTen(1); //设置第一个j2可以跟着j1一起动
  909. playMusic();
  910. } else if (type == 11) {
  911. binding.value.setTen(0);
  912. }
  913. if (
  914. -206 < seventhL &&
  915. seventhL < 100 &&
  916. -66 < seventhP &&
  917. seventhP < 204 &&
  918. type == 10
  919. ) {
  920. dv7.style.left = j2L + 37 + "px";
  921. dv7.style.top = j2T - 52 + "px";
  922. binding.value.setEleven(1); //设置第一个j2可以跟着j1一起动
  923. playMusic();
  924. } else if (type == 10) {
  925. binding.value.setEleven(0);
  926. }
  927. if (
  928. -82 < nighthL &&
  929. nighthL < -19 &&
  930. 63 < nighthP &&
  931. nighthP < 124 &&
  932. type == 7
  933. ) {
  934. dv4.style.left = screanL + 45 + "px";
  935. dv4.style.top = screanP - 70 + "px";
  936. binding.value.setTwelve(1); //设置第一个j2可以跟着j1一起动
  937. playMusic();
  938. } else if (type == 7) {
  939. binding.value.setTwelve(0);
  940. }
  941. if (
  942. -206 < sixthL &&
  943. sixthL < 100 &&
  944. -66 < sixthP &&
  945. sixthP < 204 &&
  946. type == 9
  947. ) {
  948. dv6.style.left = j2L + 37 + "px";
  949. dv6.style.top = j2T - 49 + "px";
  950. if (binding.value.getTwelve() == 1) {
  951. dv4.style.left = j2L + 37 + 45 + "px";
  952. dv4.style.top = j2T - 49 - 70 + "px";
  953. }
  954. binding.value.setThirteen(1); //设置第一个j2可以跟着j1一起动
  955. playMusic();
  956. } else if (type == 9) {
  957. binding.value.setThirteen(0);
  958. }
  959. }
  960. function playMusic() {
  961. musicC.play();
  962. }
  963. function moveP(nl, nt, type) {
  964. if (binding.value.getTwo() == 1 && type == 13) {
  965. dv.style.left = nl + 39 + "px";
  966. dv.style.top = nt - 256 + "px";
  967. }
  968. if (binding.value.getThree() == 1 && type == 13) {
  969. dv1.style.left = nl + 406 + "px";
  970. dv1.style.top = nt - 256 + "px";
  971. }
  972. if (binding.value.getFour() == 1 && type == 13) {
  973. dv9.style.left = nl + 3 + "px";
  974. dv9.style.top = nt - 509 + "px";
  975. }
  976. if (binding.value.getFive() == 1 && type == 13) {
  977. dv2.style.left = nl + 63 + "px";
  978. dv2.style.top = nt - 262 + "px";
  979. }
  980. if (binding.value.getSix() == 1 && type == 13) {
  981. dvj2.style.left = nl + 434 + "px";
  982. dvj2.style.top = nt - 138 + "px";
  983. }
  984. if (
  985. binding.value.getSeven() == 1 &&
  986. binding.value.getEight() == 1 &&
  987. type == 3
  988. ) {
  989. dv3.style.left = nl + 39 + "px";
  990. dv3.style.top = nt - 225 + "px";
  991. dv5.style.left = nl + 3 + "px";
  992. dv5.style.top = nt - 245 + "px";
  993. }
  994. if (
  995. binding.value.getSeven() == 1 &&
  996. binding.value.getEight() == 1 &&
  997. binding.value.getFive() == 1 &&
  998. type == 13
  999. ) {
  1000. dv2.style.left = nl + 63 + "px";
  1001. dv2.style.top = nt - 262 + "px";
  1002. dv3.style.left = nl + 102 + "px";
  1003. dv3.style.top = nt - 489 + "px";
  1004. dv5.style.left = nl + 66 + "px";
  1005. dv5.style.top = nt - 509 + "px";
  1006. }
  1007. if (binding.value.getEight() == 1 && type == 6) {
  1008. dv5.style.left = nl - 36 + "px";
  1009. dv5.style.top = nt - 17 + "px";
  1010. }
  1011. if (binding.value.getNight() == 1 && type == 13) {
  1012. dvj1.style.left = nl + 8 + "px";
  1013. dvj1.style.top = nt - 542 + "px";
  1014. }
  1015. if (binding.value.getTen() == 1 && type == 13) {
  1016. dv8.style.left = nl + 470 + "px";
  1017. dv8.style.top = nt - 188 + "px";
  1018. }
  1019. if (binding.value.getEleven() == 1 && type == 13) {
  1020. dv7.style.left = nl + 470 + "px";
  1021. dv7.style.top = nt - 188 + "px";
  1022. }
  1023. if (binding.value.getThirteen() == 1 && type == 13) {
  1024. dv6.style.left = nl + 471 + "px";
  1025. dv6.style.top = nt - 187 + "px";
  1026. }
  1027. if (binding.value.getTwelve() == 1 && type == 9) {
  1028. dv4.style.left = nl + 45 + "px";
  1029. dv4.style.top = nt - 70 + "px";
  1030. }
  1031. if (binding.value.getThirteen() == 1 && type == 13) {
  1032. dv4.style.left = nl + 516 + "px";
  1033. dv4.style.top = nt - 257 + "px";
  1034. }
  1035. if (binding.value.getTen() == 1 && type == 5) {
  1036. dv8.style.left = nl + 36 + "px";
  1037. dv8.style.top = nt - 51 + "px";
  1038. }
  1039. if (binding.value.getThirteen() == 1 && type == 5) {
  1040. dv6.style.left = nl + 37 + "px";
  1041. dv6.style.top = nt - 49 + "px";
  1042. }
  1043. if (binding.value.getEleven() == 1 && type == 5) {
  1044. dv7.style.left = nl + 37 + "px";
  1045. dv7.style.top = nt - 52 + "px";
  1046. }
  1047. if (
  1048. binding.value.getTwelve() == 1 &&
  1049. binding.value.getThirteen() == 1 &&
  1050. type == 5
  1051. ) {
  1052. dv4.style.left = nl + 82 + "px";
  1053. dv4.style.top = nt - 119 + "px";
  1054. }
  1055. if (binding.value.getEight() == 1 && type == 6) {
  1056. dv5.style.left = nl - 36 + "px";
  1057. dv5.style.top = nt - 20 + "px";
  1058. }
  1059. }
  1060. },
  1061. },
  1062. },
  1063. methods: {
  1064. go() {
  1065. this.$router.push("/blockly");
  1066. },
  1067. setPan(value) {
  1068. this.panThing = value;
  1069. },
  1070. getPan() {
  1071. return this.panThing;
  1072. },
  1073. setTwo(value) {
  1074. this.two = value;
  1075. },
  1076. getTwo() {
  1077. return this.two;
  1078. },
  1079. setThree(value) {
  1080. this.three = value;
  1081. },
  1082. getThree() {
  1083. return this.three;
  1084. },
  1085. setFour(value) {
  1086. this.four = value;
  1087. },
  1088. getFour() {
  1089. return this.four;
  1090. },
  1091. setFive(value) {
  1092. this.five = value;
  1093. },
  1094. getFive() {
  1095. return this.five;
  1096. },
  1097. setSix(value) {
  1098. this.six = value;
  1099. },
  1100. getSix() {
  1101. return this.six;
  1102. },
  1103. setSeven(value) {
  1104. this.seven = value;
  1105. },
  1106. getSeven() {
  1107. return this.seven;
  1108. },
  1109. setEight(value) {
  1110. this.eight = value;
  1111. },
  1112. getEight() {
  1113. return this.eight;
  1114. },
  1115. setNight(value) {
  1116. this.night = value;
  1117. },
  1118. getNight() {
  1119. return this.night;
  1120. },
  1121. setTen(value) {
  1122. this.ten = value;
  1123. },
  1124. getTen() {
  1125. return this.ten;
  1126. },
  1127. setEleven(value) {
  1128. this.eleven = value;
  1129. },
  1130. getEleven() {
  1131. return this.eleven;
  1132. },
  1133. setTwelve(value) {
  1134. this.twelve = value;
  1135. },
  1136. getTwelve() {
  1137. return this.twelve;
  1138. },
  1139. setThirteen(value) {
  1140. this.thirteen = value;
  1141. },
  1142. getThirteen() {
  1143. return this.thirteen;
  1144. },
  1145. },
  1146. };
  1147. </script>
  1148. <style scoped>
  1149. html,
  1150. body {
  1151. margin: 0;
  1152. padding: 0;
  1153. width: 100%;
  1154. }
  1155. .tip {
  1156. margin: 25px 0 30px 20px;
  1157. }
  1158. #two > img,
  1159. #door > img,
  1160. #three > img,
  1161. #seven > img,
  1162. .right > img,
  1163. .xian > img,
  1164. #jjj1 > img,
  1165. #jjj2 > img,
  1166. #tou > img,
  1167. #arm > img,
  1168. #screan > img,
  1169. #ai > img,
  1170. #bottom > img,
  1171. #five > img,
  1172. #six > img {
  1173. width: 100%;
  1174. height: 100%;
  1175. user-select: none;
  1176. }
  1177. .img {
  1178. flex-direction: row;
  1179. justify-content: flex-end;
  1180. margin: auto;
  1181. width: 70%;
  1182. /* position: relative; */
  1183. }
  1184. #two {
  1185. width: 45px;
  1186. position: absolute;
  1187. left: 25%;
  1188. top: 50%;
  1189. transform: translateY(-50%);
  1190. z-index: 2;
  1191. }
  1192. #door {
  1193. width: 368px;
  1194. position: absolute;
  1195. top: 50%;
  1196. left: 40%;
  1197. transform: translateY(-50%);
  1198. z-index: 3;
  1199. }
  1200. #three {
  1201. width: 56px;
  1202. position: absolute;
  1203. top: 50%;
  1204. left: 30%;
  1205. transform: translateY(-50%);
  1206. z-index: 4;
  1207. }
  1208. #jjj1 {
  1209. width: 100px;
  1210. position: absolute;
  1211. left: 62%;
  1212. top: 63%;
  1213. transform: translateY(-50%);
  1214. z-index: 3;
  1215. }
  1216. #jjj2 {
  1217. width: 215px;
  1218. position: absolute;
  1219. left: 62%;
  1220. top: 47%;
  1221. transform: translateY(-50%);
  1222. z-index: 2;
  1223. }
  1224. #seven {
  1225. width: 53px;
  1226. position: absolute;
  1227. left: 65%;
  1228. top: 75%;
  1229. transform: translateY(-50%);
  1230. z-index: 6;
  1231. }
  1232. #tou {
  1233. width: 55px;
  1234. position: absolute;
  1235. left: 69%;
  1236. top: 75%;
  1237. transform: translateY(-50%);
  1238. z-index: 11;
  1239. }
  1240. #arm {
  1241. width: 105px;
  1242. position: absolute;
  1243. left: 75%;
  1244. top: 75%;
  1245. transform: translateY(-50%);
  1246. z-index: 6;
  1247. }
  1248. #screan {
  1249. width: 150px;
  1250. position: absolute;
  1251. left: 82%;
  1252. top: 75%;
  1253. transform: translateY(-50%);
  1254. z-index: 11;
  1255. }
  1256. #ai {
  1257. width: 150px;
  1258. position: absolute;
  1259. left: 82%;
  1260. top: 56%;
  1261. transform: translateY(-50%);
  1262. z-index: 10;
  1263. }
  1264. #bottom {
  1265. width: 150px;
  1266. position: absolute;
  1267. left: 82%;
  1268. top: 37%;
  1269. transform: translateY(-50%);
  1270. z-index: 9;
  1271. }
  1272. #five {
  1273. width: 490px;
  1274. position: absolute;
  1275. left: 28%;
  1276. top: 80%;
  1277. transform: translateY(-50%);
  1278. z-index: 5;
  1279. }
  1280. #six {
  1281. width: 760px;
  1282. position: absolute;
  1283. left: 28%;
  1284. top: 85%;
  1285. transform: translateY(-50%);
  1286. z-index: 99;
  1287. }
  1288. .button {
  1289. color: #fff;
  1290. background: #8ca1de;
  1291. width: 550px;
  1292. height: 55px;
  1293. font-size: 20px;
  1294. text-align: center;
  1295. line-height: 55px;
  1296. position: absolute;
  1297. bottom: 5%;
  1298. left: 50%;
  1299. transform: translateX(-50%);
  1300. user-select: none;
  1301. }
  1302. .right {
  1303. width: 40px;
  1304. position: absolute;
  1305. left: 55%;
  1306. top: 70%;
  1307. display: none;
  1308. }
  1309. .xian {
  1310. width: 500px;
  1311. position: absolute;
  1312. left: 55%;
  1313. top: 70%;
  1314. z-index: 0;
  1315. display: none;
  1316. }
  1317. .dark {
  1318. background: #5b79d0;
  1319. cursor: pointer;
  1320. }
  1321. </style>