react实现科幻电影中门上锁动画效果代码

代码语言:html

所属分类:动画

代码描述:react实现科幻电影中门上锁动画效果代码

代码标签: 中门 上锁 动画 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>

  <meta charset="UTF-8">

  
  
<style>
body {
  background-color:#111;
  overflow: hidden;
  text-align:center;
}

body,
html {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
}


svg{
  width:100%;
  height:100%;
 
}
#app{
  width:100%;
  height:100%;
 
}

#hitRing{
 cursor:pointer;
 -webkit-tap-highlight-color:transparent;
}

.disabled{
 pointer-events:none;
}

.enabled{
 pointer-events:auto;
}
</style>

</head>

<body >
  <div id="app"></div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/react.production.16.13.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/react-dom.production.16.13.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/TweenMax.min.js"></script>
      <script  >
function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}class DoorUI extends React.Component {
  constructor(props) {
    super(props);_defineProperty(this, "componentDidUpdate",












    e => {

      var tl = new TimelineMax({ onComplete: this.setBtnEnabled, onCompleteParams: [true] }).timeScale(1.8);
      tl.staggerTo('.radialGroup g', 1, {
        fill: this.state.open ? '#41E969' : '#F70048' },
      0.2).
      to('.bar', 0.4, {
        strokeWidth: this.state.open ? 0 : 4,
        transformOrigin: '50% 50%',
        stroke: this.state.open ? '#41E969' : '#F70048',
        ease: Sine.easeOut },
      0).
      to('.ring', 0.4, {
        stroke: this.state.open ? '#41E969' : '#F70048' },
      0).
      staggerTo('.radialGroup g', 0.3, {
        cycle: {
          alpha: [0] },


        repeat: 1,
        ease: Sine.easeOut,
        yoyoEase: Sine.easeOut },
      0.1, 0).
      staggerTo('.radialGroup g path', 0.3, {
        cycle: {
          scale: [0.95] },

        repeat: 1,
        svgOrigin: '400 300',
        ease: Sine.easeIn,
        yoyoEase: Sine.easeOut //Elastic.easeOut.config(0.5,0.75)
      }, 0.0163, 0.1).
      to('.radialGroup', 1, {
        svgOrigin: &#.........完整代码请登录后点击上方下载按钮下载查看

网友评论0