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