美文网首页Anime页面特效
Anime+Vue<小人奔跑效果>

Anime+Vue<小人奔跑效果>

作者: 誰在花里胡哨 | 来源:发表于2019-12-11 15:57 被阅读0次
效果图:
run.gif
正所谓技多不压身,多学点东西有何不好,更何况 animejs 文档写的那么好 👍

这种效果纯css也是可以实现的,点这里就能看到纯css写的 🎈但是用animejs你会发现方便很多,下面就直接上代码了~~~
原理看懂了,其他效果或样式自己也可以整着玩了 o( ̄▽ ̄)o ⚽

代码如下:
<template>
  <div class="overall">
    <div class="person">
      <div class="head"></div>
      <div class="body">
        <div class="hand left"></div>
        <div class="hand right"></div>
      </div>
      <div class="leg">
        <div class="left"></div>
        <div class="right"></div>
      </div>
    </div>
  </div>
</template>

<script>
import anime from "animejs/lib/anime.es.js";
export default {
  mounted() {
    this.play();
  },
  methods: {
    play() {
      anime
        .timeline({
          easing: "easeInOutQuad", //动画速率
          direction: "alternate", //返回执行
          duration: 400, //动画时间
          loop: true //执行次数 true 为无限次
        })
        .add({ targets: ".person", rotate: [10, 20] }, 0) //身体是否倾斜
        .add({ targets: ".hand.left", rotate: [80, -50] }, 0) //左手晃动幅度
        .add({ targets: ".hand.right", rotate: [-50, 80] }, 0) //右手晃动幅度
        .add({ targets: ".leg .left", rotate: [30, -60] }, 0) //左脚晃动幅度
        .add({ targets: ".leg .right", rotate: [-60, 30] }, 0); //右脚晃动幅度
    }
  }
};
</script>

<style lang="scss" scoped>
.overall {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.person {
  transform-origin: 50% 100%;
  * {
    margin: 0 auto;
  }
  .head {
    width: 20px;
    height: 20px;
    background: black;
    border-radius: 50%;
  }
  .body {
    width: 22px;
    height: 50px;
    border-radius: 20px;
    background: black;
    margin-top: 2px;
    position: relative;
    //手样式
    .hand {
      //肩膀
      position: absolute;
      width: 10px;
      height: 25px;
      left: calc(50% - 5px);
      top: 7px;
      border-radius: 10px;
      background: black;
      transform-origin: 50% 0;
      &::after {
        //手臂
        content: "";
        width: 10px;
        height: 25px;
        border-radius: 10px;
        background: black;
        position: absolute;
        bottom: 5px;
        left: -3px;
        transform-origin: 50% 100%;
        transform: rotate(130deg); //手臂弯曲幅度
      }
    }
    .hand.left {
      z-index: -1;
    }
  }
  .leg {
    width: 10px;
    position: relative;
    top: -10px;
    .left,
    .right {
      // 大腿
      width: 10px;
      height: 30px;
      background: black;
      border-radius: 10px;
      position: absolute;
      transform-origin: 50% 0;
      &::after {
        //小腿
        content: "";
        width: 10px;
        height: 30px;
        border-radius: 10px;
        background: black;
        position: absolute;
        bottom: 5px;
        left: 2px;
        transform-origin: 50% 100%;
        transform: rotate(-130deg); //小腿弯曲幅度
      }
    }
  }
}
</style>

相关文章

  • Anime+Vue<小人奔跑效果>

    效果图: 这种效果纯css也是可以实现的,点这里就能看到纯css写的 ?但是用animejs你会发现方便很多,下面...

  • Anime+Vue<极光效果>

    效果图: 想用 实现此效果的(代码看起来不是很简洁),可参考地址 代码如下:

  • 小人物走路、奔跑的VC++游戏特效,适合刚学习VC++游戏编程的

    一个VC++游戏中的模块效果,小人物走路、奔跑效果,用方向键即可在控制小人的走动,当然了,源码还是比较基础的,适合...

  • Anime+Vue

    效果图: 参考效果地址: 代码如下:

  • Anime+Vue<简单的雨滴打窗效果>

    效果图: ?大佬永远是大佬,总是无法超越,此篇文章是参考以下地址效果,进行实现(这里基本是用的css+html较多...

  • 节日快乐!快乐如今日!

    小小人儿小小心愿 大大天空大大欢乐 小小人儿小小心思 大大思想大大情怀 小小人儿小小心念 大大天地大大奔跑 小小人...

  • 奔跑的小人儿

    高大的天空显得干燥、凛冽 初冬的风吹来 银杏叶子喧闹地摇摆 描述自己金黄的心情 还有一些降落下来 在道路上细碎、欢...

  • 尺子上奔跑的小人

    尺子上奔跑的小人 孩童时。 阳光旋在桌子上,无聊,和一点点疲倦。 手里许多事情,也只是闲坐着。拎...

  • dlib局限性

    对小人脸检测效果不佳,因为DLIB自带的检测器是按照最小人脸80*80的大小训练的

  • 2021-11-20

    寇 在当下 这个时间 很多人在奔跑 为了相见 而很多人也在分别 因为对彼此失望 你我都是奔跑在时间线上的小人物 并...

网友评论

    本文标题:Anime+Vue<小人奔跑效果>

    本文链接:https://www.haomeiwen.com/subject/iooogctx.html