css实现一个三维大炮控制发射效果代码

代码语言:html

所属分类:布局界面

代码描述:css实现一个三维大炮控制发射效果代码

代码标签: 三维 大炮 控制 发射 效果

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

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

<head>

  <meta charset="UTF-8">
  

  
  
  
  
<style>
@import url("https://fonts.googleapis.com/css2?family=Open+Sans&display=swap");
*, *::before, *::after {
  padding: 0;
  margin: 0 auto;
  box-sizing: border-box;
  transform-style: preserve-3d;
}

body {
  font-family: "Open Sans", sans-serif;
  background-color: #000;
  color: #fff;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.game {
  position: relative;
  perspective: 50vw;
  perspective-origin: 50% -5vw;
}

.rotateRight {
  -webkit-animation: sceneRotateX 10s -1s infinite linear paused;
          animation: sceneRotateX 10s -1s infinite linear paused;
}

.rotateLeft {
  animation: sceneRotateX 10s infinite linear paused reverse;
}

@-webkit-keyframes sceneRotateX {
  from {
    transform: rotateY(0deg);
  }
  to {
    transform: rotateY(360deg);
  }
}

@keyframes sceneRotateX {
  from {
    transform: rotateY(0deg);
  }
  to {
    transform: rotateY(360deg);
  }
}
.player {
  position: absolute;
  right: -15vw;
  bottom: -10vw;
}
.player_base {
  width: 4vw;
  height: 2vw;
  position: absolute;
  left: -2vw;
  bottom: 0;
}
.player_base > * {
  position: absolute;
  box-shadow: 0 0 1vw #000 inset;
}
.player_base-front {
  background-color: #666;
  width: 4vw;
  height: 2vw;
  transform: translateZ(1.5vw);
}
.player_base-right {
  background-color: #666;
  width: 3vw;
  height: 2vw;
  transform: rotateY(90deg) translateZ(2.5vw);
}
.player_base-back {
  background-color: #666;
  width: 4vw;
  height: 2vw;
  transform: rotateY(180deg) translateZ(1.5vw);
}
.player_base-left {
  background-color: #666;
  width: 3vw;
  height: 2vw;
  transform: rotateY(270deg) translateZ(1.5vw);
}
.player_base-top {
  background-color: #999;
  width: 4vw;
  height: 3vw;
  transform: rotateX(90deg) translateZ(1.5vw);
}
.player_base-top::after {
  content: "";
  position: absolute;
  top: 1vw;
  left: 0.5vw;
  width: 3vw;
  height: 1vw;
  background-color: #000;
  box-shadow: 0 0 0.25vw 0.25vw #000;
}
.player_base-bottom {
  background-color: #111;
  width: 4vw;
  height: 3vw;
  transform: rotateX(90deg) translateZ(-0.45vw);
  box-shadow: 0 0 0.5vw 0.5vw #111;
}
.player_cannon {
  width: 5vw;
  height: 1vw;
  position: absolute;
  right: -1.5vw;
  bottom: 1vw;
  transform-origin: top right;
  transform: rotate(20deg);
  -webkit-animation: cannonAngle 3s -1.5s infinite ease-in-out alternate paused;
          animation: cannonAngle 3s -1.5s infinite ease-in-out alternate paused;
}
@-webkit-keyframes cannonAngle {
  from {
    transform: rotate(20deg);
  }
  to {
    transform: rotate(70deg);
  }
}
@keyframes cannonAngle {
  from {
    transform: rotate(20deg);
  }
  to {
    transform: rotate(70deg);
  }
}
.player_cannon > * {
  position: absolute;
  box-shadow: 0 0 0.5vw #000 inset;
  width: 100%;
  height: 100%;
}
.player_cannon-front {
  background-color: #666;
  transform: translateZ(0.5vw);
}
.player_cannon-top {
  background-color: #999;
  transform: rotateX(90deg) translateZ(0.5vw);
}
.player_cannon-back {
  background-color: #666;
  transform: rotateX(180deg) translateZ(0.5vw);
}
.player_cannon-bottom {
  background-color: #333;
  transform: rotateX(270deg) translateZ(0.5vw);
}

.cube {
  position: absolute;
  right: 0.3vw;
  bottom: 1.4vw;
  width: 0.3vw;
  height: 0.3vw;
}
.cube_container {
  position: absolute;
  right: -16.5vw;
  bottom: -10vw;
  width: 42vw;
.........完整代码请登录后点击上方下载按钮下载查看

网友评论0