找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-11-30 22:47  /   查看:2501  /  回复:0
本帖最后由 dof 于 2020-11-30 22:50 编辑

曾经有一个梦想,拥有一部属于自己的机器人,没想到在开源社区已经有爱好者帮我们实现了,现在,你也可以在可视化大屏中放置一个属于你的机器人了。
特别说明:
该文章中的代码来自社区,大家在使用时应该遵守作者的使用协议。

使用步骤:
1、创建仪表板,添加外部扩展组件
image.png419770812.png

2、编辑外部扩展的Html属性
image.png480195617.png

3、将Html代码贴到编辑区域
  1. <html>
  2. <head>
  3. <style>
  4. /* Base Styles */
  5. body {
  6.   background: #545454;
  7. }

  8. .container {
  9.   margin-top: 28px;
  10.   max-height: 560px;
  11.   overflow: hidden;
  12.   width: 100%;
  13. }

  14. /* SVG Styles */
  15. #robot {
  16.   animation: fly-in 3s ease-out;
  17.   max-height: 560px;
  18.   width: 100%;
  19. }

  20. .arm,
  21. .leg {
  22.   animation: dangle 3s cubic-bezier(0.57, 0.19, 0.25, 0.75) infinite;
  23.   transform-origin: 50% 0%;
  24. }

  25. .head {
  26.   animation: attach-head 3s linear;
  27. }

  28. .flame {
  29.   animation: flicker 0.35s linear infinite;
  30.   transform-origin: 50% 50%;
  31. }

  32. .lean {
  33.   animation: lean 3s linear;
  34.   transform-origin: 50% 0%;
  35. }

  36. .levitate {
  37.   animation: levitate 3s cubic-bezier(0.57, 0.19, 0.25, 0.75) infinite;
  38.   transform-origin: 50% 50%;
  39. }

  40. .smoke {
  41.   animation: smoke 0.25s linear infinite;
  42.   transform-origin: 50% 50%;
  43. }

  44. .smoke-group {
  45.   animation: track-levitate 3s cubic-bezier(0.57, 0.19, 0.25, 0.75) infinite;
  46.   animation-delay: 0.25s;
  47. }

  48. .delay-2 {
  49.   animation-delay: 0.06s;
  50. }

  51. .delay-3 {
  52.   animation-delay: 0.09s;
  53. }

  54. .delay-4 {
  55.   animation-delay: 0.12s;
  56. }

  57. .delay-5 {
  58.   animation-delay: 0.15s;
  59. }

  60. .delay-6 {
  61.   animation-delay: 0.18s;
  62. }

  63. .delay-7 {
  64.   animation-delay: 0.21s;
  65. }

  66. .delay-8 {
  67.   animation-delay: 0.24s;
  68. }

  69. .delay-9 {
  70.   animation-delay: 0.27s;
  71. }

  72. .delay-10 {
  73.   animation-delay: 0.3s;
  74. }


  75. @keyframes flicker {
  76.   0% {
  77.     transform: rotate(-1deg);
  78.   }
  79.   25% {
  80.     transform: rotate(1deg) scaleY(1.15);
  81.   }
  82.   50%, 100% {
  83.     transform: rotate(1deg);
  84.   }
  85.   75% {
  86.     transform: rotate(-2deg) scaleY(0.95);
  87.   }
  88. }
  89. @keyframes smoke {
  90.   from {
  91.     transform: scale(0.95);
  92.   }
  93.   to {
  94.     transform: scale(1.15);
  95.   }
  96. }

  97. @keyframes levitate {
  98.   from {
  99.     transform: rotate(0deg) translate(-15px) rotate(0deg);
  100.   }
  101.   to {
  102.     transform: rotate(360deg) translate(-15px) rotate(-360deg);
  103.   }
  104. }
  105. @keyframes track-levitate {
  106.   0%, 100% {
  107.     transform: translateX(-20px);
  108.   }
  109.   50% {
  110.     transform: translateX(0);
  111.   }
  112. }
  113. @keyframes dangle {
  114.   0%, 100% {
  115.     transform: rotate(0deg);
  116.   }
  117.   33% {
  118.     transform: rotate(10deg);
  119.   }
  120.   66% {
  121.     transform: rotate(-10deg);
  122.   }
  123. }
  124. @keyframes lean {
  125.   0%, 100% {
  126.     transform: rotate(0deg) translateX(0px);
  127.   }
  128.   20% {
  129.     transform: rotate(-30deg) translateX(-130px);
  130.   }
  131.   80% {
  132.     transform: rotate(-30deg) translateX(-130px);
  133.   }
  134. }
  135. @keyframes attach-head {
  136.   0%, 100% {
  137.     transform: translate(0px 0px);
  138.   }
  139.   20% {
  140.     transform: translate(-130px, 60px);
  141.   }
  142.   80% {
  143.     transform: translate(-130px, 60px);
  144.   }
  145. }
  146. @keyframes fly-in {
  147.   0% {
  148.     transform: translateX(2000px);
  149.   }
  150.   100% {
  151.     transform: translateX(0px);
  152.   }
  153. }

  154. </style>
  155. </head>
  156. <body>

  157. <div class="container">
  158.   <svg id="robot" version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 -10 960 570">

  159.     <g class="head">
  160.       <g class="levitate">
  161.         <!-- Top of Head -->
  162.         <path fill="#06C194" d="M480.5,9.545C436.011,9.545,400,45.61,400,90.1V166h161V90.1C561,45.61,524.989,9.545,480.5,9.545z"/>
  163.         <path fill="#16FFC6" d="M480,10h9.04c-2.807-0.296-5.654-0.455-8.54-0.455C436.011,9.545,400,45.61,400,90.1V166h80V10z"/>
  164.       </g>
  165.     </g>

  166.     <!-- Background Smoke -->
  167.     <g class="smoke-group">
  168.       <circle class="smoke delay-2" fill="#FAC784" cx="441" cy="484.667" r="22.167"/>
  169.       <circle class="smoke delay-3" fill="#FFD97F" cx="455" cy="510" r="42.5"/>
  170.       <circle class="smoke delay-4" fill="#FAC784" cx="508.258" cy="486.763" r="25.263"/>
  171.     </g>

  172.     <g class="lean">
  173.       <g class="levitate">
  174.         <!-- Jet Stream -->
  175.         <rect x="455" y="348" fill="#FFFBB5" width="54" height="163"/>
  176.         <polygon class="flame" fill="#FFD97F" points="469.333,328 493.667,328 481.63,460.667 "/>

  177.         <!-- Jet Pack -->
  178.         <g>
  179.           <rect x="442" y="276" fill="#CCCCCC" width="39" height="65"/>
  180.           <circle fill="#CCCCCC" cx="461.001" cy="277.087" r="19.427"/>
  181.           <rect x="481" y="276" fill="#CCCCCC" width="38" height="65"/>
  182.           <circle fill="#CCCCCC" cx="500.307" cy="277.087" r="19.427"/>
  183.           <polygon fill="#CCCCCC" points="508.885,348 454.731,348 468.616,335 494.998,335         "/>
  184.         </g>

  185.         <!-- Arms -->
  186.         <path class="arm" fill="none" stroke="#06C194" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="10" d="
  187.           M434.833,320.333c0,0,0.143-8.807-0.911-32.76"/>
  188.         <path class="arm delay-4" fill="none" stroke="#06C194" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="10" d="
  189.           M527.28,287.573c-1.054,23.953-0.911,32.76-0.911,32.76"/>

  190.         <!-- Shoulders -->
  191.         <circle fill="#16FFC6" cx="515.25" cy="279" r="17.75"/>
  192.         <circle fill="#16FFC6" cx="447.25" cy="279" r="17.75"/>

  193.         <!-- Body -->
  194.         <rect x="447" y="241" fill="#06C194" width="67" height="65"/>

  195.         <!-- Right Leg -->
  196.         <g class="leg">
  197.           <path fill="none" stroke="#06C194" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="10" d="
  198.           M463.833,359.333c0,0,0.143-8.807-0.911-32.76"/>

  199.           <!-- Foot -->
  200.           <path fill="#16FFC6" d="M479.311,361.396c-8.956-6.462-21.476-4.682-28.235,4.143c-6.759,8.823-5.219,21.372,3.351,28.339
  201.               L479.311,361.396z"/>
  202.         </g>

  203.         <!-- Left Leg -->
  204.         <g class="leg delay-6">
  205.           <path fill="none" stroke="#06C194" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" stroke-miterlimit="10" d="
  206.           M499.28,326.573c-1.054,23.953-0.911,32.76-0.911,32.76"/>

  207.           <!-- Foot -->   
  208.           <path fill="#16FFC6" d="M510.386,393.843c8.519-7.028,9.965-19.592,3.139-28.363c-6.827-8.773-19.359-10.458-28.266-3.93
  209.             L510.386,393.843z"/>
  210.         </g>  

  211.         <!-- Body -->
  212.         <circle fill="#06C194" cx="480.5" cy="305.5" r="33.5"/>
  213.       </g>
  214.     </g>

  215.     <!-- Smoke -->
  216.     <g class="smoke-group">
  217.       <circle class="smoke delay-8" fill="#FFD97F" cx="419" cy="517.193" r="22.193"/>
  218.       <circle class="smoke delay-6" fill="#FAC784" cx="555" cy="517.193" r="22.193"/>
  219.       <circle class="smoke delay-7" fill="#FFD97F" cx="527.28" cy="505.667" r="33.72"/>
  220.       <circle class="smoke delay-5" fill="#FFD97F" cx="485.251" cy="514.063" r="36.877"/>
  221.     </g>

  222.     <g class="head">
  223.       <g class="levitate">
  224.         <!-- Lower Jaw -->
  225.         <g>
  226.           <path fill="#16FFC6" d="M370.065,176c-0.001,0-0.004-0.065-0.004,0.028c0,48.908,44.819,88.43,100.106,88.43
  227.             c55.286,0,100.105-39.46,100.105-88.368c0-0.093-0.004-0.09-0.004-0.09H370.065z"/>
  228.         </g>

  229.         <!-- Eyes -->
  230.         <circle fill="#FFFFFF" stroke="#06C194" stroke-width="5" stroke-miterlimit="10" cx="480.235" cy="141.86" r="14.015"/>
  231.         <circle fill="#FFFFFF" stroke="#06C194" stroke-width="5" stroke-miterlimit="10" cx="444.377" cy="141.86" r="14.015"/>
  232.       </g>
  233.     </g>
  234.   </svg>
  235. </div><!-- /.container -->
  236. </body>
  237. </html>
复制代码
image.png584881591.png

这时,你的仪表板就会有一个可爱的机器人了,我相信这个使用技巧,可以让你的仪表板变得更加个性,更加生动。
Wyn Enterprise 仪表板机器人.gif

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部