door.vue 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403
  1. <template>
  2. <div>
  3. <div class="tip">
  4. <img src="../assets/img/shop/tips.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 = twoL + 385 + "px";
  829. dvj2.style.top = twoP + 65 + "px";
  830. if (binding.value.getThirteen() == 1) {
  831. dv6.style.left = twoL + 385 + 53 + "px";
  832. dv6.style.top = twoP + 65 - 70 + "px";
  833. if (binding.value.getTwelve() == 1) {
  834. dv4.style.left = twoL + 385 + 54 + 61 + "px";
  835. dv4.style.top = twoP + 65 - 70 - 100 + "px";
  836. }
  837. }
  838. if (binding.value.getEleven() == 1) {
  839. dv7.style.left = twoL + 385 + 53 + "px";
  840. dv7.style.top = twoP + 65 - 70 + "px";
  841. }
  842. if (binding.value.getTen() == 1) {
  843. dv8.style.left = twoL + 385 + 53 + "px";
  844. dv8.style.top = twoP + 65 - 70 + "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 + 49 + "px";
  907. dv8.style.top = j2T - 70 + "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 + 54 + "px";
  921. dv7.style.top = j2T - 70 + "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 + 61 + "px";
  935. dv4.style.top = screanP - 100 + "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 + 54 + "px";
  949. dv6.style.top = j2T - 70 + "px";
  950. if (binding.value.getTwelve() == 1) {
  951. dv4.style.left = j2L + 54 + 61 + "px";
  952. dv4.style.top = j2T - 70 - 100 + "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 + 424 + "px";
  982. dvj2.style.top = nt - 191 + "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. type == 13
  998. ) {
  999. dv3.style.left = nl + 102 + "px";
  1000. dv3.style.top = nt - 489 + "px";
  1001. dv5.style.left = nl + 66 + "px";
  1002. dv5.style.top = nt - 509 + "px";
  1003. }
  1004. if (binding.value.getEight() == 1 && type == 6) {
  1005. dv5.style.left = nl - 36 + "px";
  1006. dv5.style.top = nt - 17 + "px";
  1007. }
  1008. if (binding.value.getNight() == 1 && type == 13) {
  1009. dvj1.style.left = nl + 8 + "px";
  1010. dvj1.style.top = nt - 542 + "px";
  1011. }
  1012. if (binding.value.getTen() == 1 && type == 13) {
  1013. dv8.style.left = nl + 477 + "px";
  1014. dv8.style.top = nt - 261 + "px";
  1015. }
  1016. if (binding.value.getEleven() == 1 && type == 13) {
  1017. dv7.style.left = nl + 477 + "px";
  1018. dv7.style.top = nt - 261 + "px";
  1019. }
  1020. if (binding.value.getThirteen() == 1 && type == 13) {
  1021. dv6.style.left = nl + 477 + "px";
  1022. dv6.style.top = nt - 261 + "px";
  1023. }
  1024. if (binding.value.getTwelve() == 1 && type == 9) {
  1025. dv4.style.left = nl + 61 + "px";
  1026. dv4.style.top = nt - 100 + "px";
  1027. }
  1028. if (binding.value.getThirteen() == 1 && type == 13) {
  1029. dv4.style.left = nl + 538 + "px";
  1030. dv4.style.top = nt - 361 + "px";
  1031. }
  1032. if (binding.value.getTen() == 1 && type == 5) {
  1033. dv8.style.left = nl + 53 + "px";
  1034. dv8.style.top = nt - 70 + "px";
  1035. }
  1036. if (binding.value.getThirteen() == 1 && type == 5) {
  1037. dv6.style.left = nl + 53 + "px";
  1038. dv6.style.top = nt - 70 + "px";
  1039. }
  1040. if (binding.value.getEleven() == 1 && type == 5) {
  1041. dv7.style.left = nl + 53 + "px";
  1042. dv7.style.top = nt - 70 + "px";
  1043. }
  1044. if (
  1045. binding.value.getTwelve() == 1 &&
  1046. binding.value.getThirteen() == 1 &&
  1047. type == 5
  1048. ) {
  1049. dv4.style.left = nl + 114 + "px";
  1050. dv4.style.top = nt - 170 + "px";
  1051. }
  1052. if (binding.value.getEight() == 1 && type == 6) {
  1053. dv5.style.left = nl - 36 + "px";
  1054. dv5.style.top = nt - 20 + "px";
  1055. }
  1056. }
  1057. },
  1058. },
  1059. },
  1060. methods: {
  1061. go() {
  1062. this.$router.push("/blockly");
  1063. },
  1064. setPan(value) {
  1065. this.panThing = value;
  1066. },
  1067. getPan() {
  1068. return this.panThing;
  1069. },
  1070. setTwo(value) {
  1071. this.two = value;
  1072. },
  1073. getTwo() {
  1074. return this.two;
  1075. },
  1076. setThree(value) {
  1077. this.three = value;
  1078. },
  1079. getThree() {
  1080. return this.three;
  1081. },
  1082. setFour(value) {
  1083. this.four = value;
  1084. },
  1085. getFour() {
  1086. return this.four;
  1087. },
  1088. setFive(value) {
  1089. this.five = value;
  1090. },
  1091. getFive() {
  1092. return this.five;
  1093. },
  1094. setSix(value) {
  1095. this.six = value;
  1096. },
  1097. getSix() {
  1098. return this.six;
  1099. },
  1100. setSeven(value) {
  1101. this.seven = value;
  1102. },
  1103. getSeven() {
  1104. return this.seven;
  1105. },
  1106. setEight(value) {
  1107. this.eight = value;
  1108. },
  1109. getEight() {
  1110. return this.eight;
  1111. },
  1112. setNight(value) {
  1113. this.night = value;
  1114. },
  1115. getNight() {
  1116. return this.night;
  1117. },
  1118. setTen(value) {
  1119. this.ten = value;
  1120. },
  1121. getTen() {
  1122. return this.ten;
  1123. },
  1124. setEleven(value) {
  1125. this.eleven = value;
  1126. },
  1127. getEleven() {
  1128. return this.eleven;
  1129. },
  1130. setTwelve(value) {
  1131. this.twelve = value;
  1132. },
  1133. getTwelve() {
  1134. return this.twelve;
  1135. },
  1136. setThirteen(value) {
  1137. this.thirteen = value;
  1138. },
  1139. getThirteen() {
  1140. return this.thirteen;
  1141. },
  1142. },
  1143. };
  1144. </script>
  1145. <style scoped>
  1146. html,
  1147. body {
  1148. margin: 0;
  1149. padding: 0;
  1150. width: 100%;
  1151. }
  1152. .tip {
  1153. margin: 25px 0 30px 20px;
  1154. width: 419px;
  1155. }
  1156. .tip > img,
  1157. #two > img,
  1158. #door > img,
  1159. #three > img,
  1160. #seven > img,
  1161. .right > img,
  1162. .xian > img,
  1163. #jjj1 > img,
  1164. #jjj2 > img,
  1165. #tou > img,
  1166. #arm > img,
  1167. #screan > img,
  1168. #ai > img,
  1169. #bottom > img,
  1170. #five > img,
  1171. #six > img {
  1172. width: 100%;
  1173. height: 100%;
  1174. user-select: none;
  1175. }
  1176. .img {
  1177. flex-direction: row;
  1178. justify-content: flex-end;
  1179. margin: auto;
  1180. width: 70%;
  1181. /* position: relative; */
  1182. }
  1183. #two {
  1184. width: 45px;
  1185. position: absolute;
  1186. left: 10%;
  1187. top: 50%;
  1188. transform: translateY(-50%);
  1189. z-index: 2;
  1190. }
  1191. #door {
  1192. width: 368px;
  1193. position: absolute;
  1194. top: 50%;
  1195. left: 25%;
  1196. transform: translateY(-50%);
  1197. z-index: 3;
  1198. }
  1199. #three {
  1200. width: 56px;
  1201. position: absolute;
  1202. top: 50%;
  1203. left: 15%;
  1204. transform: translateY(-50%);
  1205. z-index: 4;
  1206. }
  1207. #jjj1 {
  1208. width: 100px;
  1209. position: absolute;
  1210. left: 47%;
  1211. top: 63%;
  1212. transform: translateY(-50%);
  1213. z-index: 3;
  1214. }
  1215. #jjj2 {
  1216. width: 299px;
  1217. position: absolute;
  1218. left: 47%;
  1219. top: 47%;
  1220. transform: translateY(-50%);
  1221. z-index: 2;
  1222. }
  1223. #seven {
  1224. width: 53px;
  1225. position: absolute;
  1226. left: 50%;
  1227. top: 75%;
  1228. transform: translateY(-50%);
  1229. z-index: 6;
  1230. }
  1231. #tou {
  1232. width: 85px;
  1233. position: absolute;
  1234. left: 54%;
  1235. top: 75%;
  1236. transform: translateY(-50%);
  1237. z-index: 11;
  1238. }
  1239. #arm {
  1240. width: 105px;
  1241. position: absolute;
  1242. left: 59%;
  1243. top: 75%;
  1244. transform: translateY(-50%);
  1245. z-index: 6;
  1246. }
  1247. #screan {
  1248. width: 205px;
  1249. position: absolute;
  1250. left: 67%;
  1251. top: 75%;
  1252. transform: translateY(-50%);
  1253. z-index: 11;
  1254. }
  1255. #ai {
  1256. width: 205px;
  1257. position: absolute;
  1258. left: 67%;
  1259. top: 56%;
  1260. transform: translateY(-50%);
  1261. z-index: 10;
  1262. }
  1263. #bottom {
  1264. width: 210px;
  1265. position: absolute;
  1266. left: 67%;
  1267. top: 37%;
  1268. transform: translateY(-50%);
  1269. z-index: 9;
  1270. }
  1271. #five {
  1272. width: 490px;
  1273. position: absolute;
  1274. left: 13%;
  1275. top: 80%;
  1276. transform: translateY(-50%);
  1277. z-index: 5;
  1278. }
  1279. #six {
  1280. width: 760px;
  1281. position: absolute;
  1282. left: 13%;
  1283. top: 85%;
  1284. transform: translateY(-50%);
  1285. z-index: 99;
  1286. }
  1287. .button {
  1288. color: #fff;
  1289. background: #8ca1de;
  1290. width: 550px;
  1291. height: 55px;
  1292. font-size: 20px;
  1293. text-align: center;
  1294. line-height: 55px;
  1295. position: absolute;
  1296. bottom: 5%;
  1297. left: 50%;
  1298. transform: translateX(-50%);
  1299. user-select: none;
  1300. }
  1301. .right {
  1302. width: 40px;
  1303. position: absolute;
  1304. left: 55%;
  1305. top: 70%;
  1306. display: none;
  1307. }
  1308. .xian {
  1309. width: 500px;
  1310. position: absolute;
  1311. left: 55%;
  1312. top: 70%;
  1313. z-index: 0;
  1314. display: none;
  1315. }
  1316. .dark {
  1317. background: #5b79d0;
  1318. cursor: pointer;
  1319. }
  1320. </style>