js实现牧羊犬赶羊群入圈小游戏效果代码
代码语言:html
所属分类:游戏
代码描述:js实现牧羊犬赶羊群入圈小游戏效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> /*** CSS debug in progress ***/ body { margin: 0; padding: 0; background: radial-gradient( rgb(144 212 147) 0%, rgb(89 181 92) 35%, rgb(65 171 69) 50%, rgb(30 125 34) 100% ); overflow: hidden; display: flex; justify-content: center; align-items: center; width: 100vw; height: 100vh; font-family: Arial, Helvetica, serif; } .field { margin: 0 auto; height: 100vh; width: 100vw; position: relative; } .sheep-zone { padding: 5vmin; position: absolute; border-radius: 100%; background: #008e0630; transition: 0.5s; box-shadow: 0 0 15px 0 #008e0630, 0 0 0 0.25vmin #ffffff20 inset; } .sheep { width: 5vmin; height: 6vmin; border: 1px #f3f3f3 solid; right: 500px; background: #fff; transition: 0.5s; border-radius: 45%; filter: drop-shadow(1px 1px 5px #00000080); animation: sheep-eating 4s 0s infinite alternate; } .sheep:before { content: ""; background: radial-gradient( circle at 1.95vmin 1.5vmin, #fff 0.5vmin, transparent 0.65vmin ), radial-gradient(circle at 4.5vmin 1.5vmin, #fff 0.55vmin, transparent 0.7vmin), radial-gradient( circle at 1.65vmin 2.15vmin, #fff 0.65vmin, transparent 0.8vmin ), radial-gradient( circle at 1.15vmin 2.75vmin, #fff 0.5vmin, transparent 0.65vmin ), radial-gradient( circle at 1.15vmin 3.35vmin, #fff 0.6vmin, transparent 0.75vmin ), radial-gradient( circle at 1.05vmin 4.35vmin, #fff 0.65vmin, transparent 0.8vmin ), radial-gradient( circle at 1.2vmin 5.35vmin, #fff 0.6vmin, transparent 0.75vmin ), radial-gradient( circle at 1.5vmin 6.15vmin, #fff 0.55vmin, transparent 0.7vmin ), radial-gradient(circle at 1.9vmin 6.8vmin, #fff 0.55vmin, transparent 0.7vmin), radial-gradient( circle at 2.5vmin 7.05vmin, #fff 0.4vmin, transparent 0.55vmin ), radial-gradient( circle at 2.95vmin 7.15vmin, #fff 0.45vmin, transparent 0.6vmin ), radial-gradient( circle at 3.65vmin 7.25vmin, #fff 0.25vmin, transparent 0.4vmin ), radial-gradient( circle at 4.25vmin 7.2vmin, #fff 0.35vmin, transparent 0.5vmin ), radial-gradient( circle at 4.85vmin 6.65vmin, #fff 0.55vmin, transparent 0.7vmin ), radial-gradient( circle at 5.25vmin 6.15vmin, #fff 0.35vmin, transparent 0.5vmin ), radial-gradient( circle at 5.25vmin 1.5vmin, #fff 0.45vmin, transparent 0.6vmin ), radial-gradient( circle at 5.5vmin 2.35vmin, #fff 0.5vmin, transparent 0.65vmin ), radial-gradient( circle at 6.05vmin 3.25vmin, #fff 0.45vmin, transparent 0.6vmin ), radial-gradient( circle at 5.95vmin 4.05vmin, #fff 0.4vmin, transparent 0.55vmin ), radial-gradient( circle at 5.75vmin 4.85vmin, #fff 0.5vmin, transparent 0.65vmin ), radial-gradient( circle at 5.65vmin 5.75vmin, #fff 0.55vmin, transparent 0.7vmin ); width: calc(5vmin + 2vmin); height: calc(6vmin + 2vmin); position: absolute; border-radius: 25%; margin-left: -1vmin; margin-top: -1vmin; } .sheep:after { content: ""; background: radial-gradient( circle at 70% 65%, #333 0.2vmin, transparent 0.275vmin ), radial-gradient(circle at 30% 65%, #333 0.2vmin, transparent 0.275vmin), #efe3d3; width: 2.35vmin; height: 2.75vmin; position: absolute; border-radius: 35% 35% 0 0; margin-left: 1.3vmin; margin-top: -2vmin; border-bottom: 1px dashed #fff; clip-path: polygon(10% 0%, 90% 0%, 100% 100%, 0% 100%); } .sheep-pen { position: absolute; background: radial-gradient(#d6bc97a3 50%, #59b55c 75%, #59b55c 80%); width: 45vmin; height: 45vmin; border-radius: 100%; left: calc(50% - 22.5vmin); top: calc(50% - 22.5vmin); border: 5vmin dotted #d6bc97a3; z-index: -1; filter: blur(5px); box-sizing: border-box; } @keyframes sheep-eating { 0% { transform: rotate(0deg); } 20% { transform: rotate(45deg); } 40% { transform: rotate(45eg); } 60% { transform: rotate(80deg); } 80% { transform: rotate(80deg); } 100% { transform: rotate(130deg); } } .sheep-zone:nth-child(2) { transform: rotate(-40deg); } .sheep-zone:nth-child(3) { transform: rotate(-70deg); } .sheep-zone:nth-child(4) { transform: rotate(-110deg); } .sheep-zone:nth-child(5) { transform: rotate(-150deg); } .sheep-zone:nth-child(6) { transform: rotate(-180deg); } .sheep-zone:nth-child(7) { transform: rotate(-210deg); } .sheep-zone:nth-child(8) { transform: rotate(-250deg); } .sheep-zone:nth-child(9) { transform: rotate(-290deg); } .sheep-zone:nth-child(2) .sheep { animation-duration: 5s; } .sheep-zone:nth-child(3) .sheep { animation-duration: 4.5s; } .sheep-zone:nth-child(4) .sheep { animation-duration: 3.5s; } .sheep-zone:nth-child(5) .sheep { animation-duration: 5.5s; } .sheep-zone:nth-child(6) .sheep { animation-duration: 6s; } .sheep-zone:nth-child(7) .sheep { animation-duration: 6.5s; } .sheep-zone:nth-child(8) .sheep { animation-duration: 7s; } .sheep-zone:nth-child(9) .sheep { animation-duration: 7.5s; } #element { background: red; position: absolute; top: 30vmin; left: 30vmin; width: 20vmin; height: 20vmin; } #dog { width: 3.5vmin; height: 7vmin; background-color: #8e5541; border-radius: 70% 70% 100% 100%; transition-duration: 500ms; transition-timing-function: ease-out; position: fixed; transform-origin: center center; margin-left: -2vmin; margin-top: -3.5vmin; filter: drop-shadow(0px 0px 10px #00000040); left: 65%; top: 75%; } #dog:before { content: ""; width: calc(100% - 0.35vmin); height: calc(100% - 0.35vmin); position: absolute; border-radius: 70% 70% 100% 100%; margin-left: -0.175vmin; margin-top: -0.175v.........完整代码请登录后点击上方下载按钮下载查看
网友评论0