zdog实现一个三维图腾效果代码
代码语言:html
所属分类:三维
代码描述:zdog实现一个三维图腾效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> *, *:before, *:after { box-sizing: border-box; } body, html { height: 100%; } body { background: #A3C4D0; background: linear-gradient(to bottom, #f8f5da 0%, #FFF4E2 25%, #A3C4D0 75%, #3e4f53 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#f8f5da", endColorstr="#3e4f53",GradientType=0 ); overflow: hidden; } main { display: grid; place-items: center; height: 100%; } @media only screen and (max-height: 470px) { main { transform: scale(0.75); } } canvas { transform: translateZ(40px) translateY(100vh); -webkit-animation: enter 2000ms cubic-bezier(0.075, 0.82, 0.165, 1) 500ms forwards; animation: enter 2000ms cubic-bezier(0.075, 0.82, 0.165, 1) 500ms forwards; will-change: transform; cursor: move; } @-webkit-keyframes enter { 0% { transform: translateZ(40px) translateY(100vh); } 100% { transform: translateZ(40px); } } @keyframes enter { 0% { transform: translateZ(40px) translateY(100vh); } 100% { transform: translateZ(40px); } } </style> </head> <body > <main> <canvas class="totem" width="500" height="500"></canvas> </main> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/zdog.dist.js"></script> <script > let illo = new Zdog.Illustration({ element: ".totem", dragRotate: true }); let anchor = new Zdog.Anchor({ addTo: illo, rotate: { x: -Zdog.TAU / 24, y: Zdog.TAU * .66 } }); // groups let one = new Zdog.Anchor({ addTo: anchor, translate: { y: -216 } }); let two = new Zdog.Anchor({ addTo: anchor, translate: { y: -108 } }); let three = new Zdog.Anchor({ addTo: anchor, translate: { y: 0 } }); let four = new Zdog.Anchor({ addTo: anchor, translate: { y: 108 } }); // shared let sharedTopBottom = { width: 96, height: 96, color: "#FDAA4E", fill: true }; let sharedTopGroup = { rotate: { x: Zdog.TAU / 4 } }; let sharedBottomGroup = { rotate: { x: Zdog.TAU / 4 }, translate: { y: 96 } }; let sharedFrontGroup = { translate: { x: -48, y: 48 }, rotate: { y: -Zdog.TAU / 4 } }; let sharedBackGroup = { translate: { x: 48, y: 48 }, rotate: { y: -Zdog.TAU / 4 } }; let sharedLeftRight = { width: 96, height: 96, color: "#FED240", fill: true }; let sharedLeftGroup = { translate: { y: 48, z: .........完整代码请登录后点击上方下载按钮下载查看
网友评论0