gsap+Physics2DPlugin实现抛硬币到洞中交互效果代码
代码语言:html
所属分类:动画
代码描述:gsap+Physics2DPlugin实现抛硬币到洞中交互效果代码,按住可看到抛出的强度力度。
代码标签: gsap Physics2DPlugin 抛 硬币 洞中 交互
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<meta
name="viewport"
content="width=device-width, initial-scale=1, user-scalable=0, maximum-scale=1.0"
/>
<style>
@import url('https://unpkg.com/normalize.css') layer(normalize);
@import url('https://fonts.googleapis.com/css2?family=Gloria+Hallelujah&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@layer normalize, base, demo;
@layer demo {
:root {
--ru: 15;
}
[data-flipped='true'] .arrow {
opacity: 0;
}
.tp-lblv.tp-v-disabled .tp-lblv_l {
/* color: var(--lbl-fg) !important; */
opacity: 1 !important;
}
:root:has([aria-label]:active) .tp-txtv.tp-v-disabled {
-webkit-clip-path: inset(0 0 0 0);
clip-path: inset(0 0 0 0);
}
.arrow {
display: inline-block;
opacity: 0.8;
position: fixed;
font-size: 0.875rem;
font-family: 'Gloria Hallelujah', cursive;
transition: opacity 0.26s 0.26s ease-out;
&.arrow--instruction {
top: 50%;
left: 50%;
translate: -190% 150%;
rotate: -10deg;
svg {
color: hsl(0 0% 65%);
scale: 1 1;
top: 130%;
rotate: 20deg;
left: -10%;
width: 80%;
translate: 105% 40%;
position: absolute;
}
}
}
.tp-txtv.tp-v-disabled {
height: 14.3px;
background: repeating-linear-gradient(
90deg,
var(--lbl-fg) 0 3%, #0000 3% 5%);
-webkit-clip-path: inset(0 100% 0 0);
clip-path: inset(0 100% 0 0);
transition: -webkit-clip-path 0.26s;
transition: clip-path 0.26s;
transition: clip-path 0.26s, -webkit-clip-path 0.26s;
input {
display: none;
}
}
main {
scale: 1.2;
transform: translate3d(0, 0, 100vmax);
}
[aria-label] {
touch-action: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: #0000;
--bg: #1871f4;
background: var(--bg);
border-radius: 6px;
font-size: 0.875rem;
color: #fff;
font-family: inherit;
border: 1px solid color-mix(in oklch, var(--bg), #000 12%);
cursor: pointer;
transform-origin: 75% 50%;
transition: transform 0.26s, box-shadow 0.26s, background 0.18s;
padding: 0;
--shadow-color: 0 0% 0%;
box-shadow: 0px 0.6px 0.7px hsl(var(--shadow-color) / 0.14),
0px 2.3px 2.6px -0.8px hsl(var(--shadow-color) / 0.14),
0px 5.9px 6.6px -1.7px hsl(var(--shadow-color) / 0.14),
0px 14.5px 16.3px -2.5px hsl(var(--shadow-color) / 0.14);
.content {
align-items: center;
-webkit-clip-path: inset(-100vmax 0 1px 0);
clip-path: inset(-100vmax 0 1px 0);
display: flex;
gap: 0.75rem;
padding: 0.5rem 0.75rem;
height: 100%;
}
&[data-tipping='false']:active {
transform: rotate(calc(var(--ru) * -1deg));
box-shadow: -0.5px 0.7px 1px hsl(var(--shadow-color) / 0.14),
-1.8px 2.3px 3.3px -0.8px hsl(var(--shadow-color) / 0.14),
-4.6px 6px 8.5px -1.7px hsl(var(--shadow-color) / 0.14),
-11.4px 14.6px 20.8px -2.5px hsl(var(--shadow-color) / 0.14);
}
&:is(:focus-visible, :hover) {
--bg: color-mix(in oklch, #1871f4, #000 5%);
transition: transform 0.26s, box-shadow 0.26s, background 0.18s 0.12s;
.purse {
rotate: y 360deg;
transition: rotate 0.26s 0.12s ease-out;
}
}
.purse {
height: 100%;
width.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0