canvas模拟文字沙粒物理落下堆积破坏动画交互代码
代码语言:html
所属分类:动画
代码描述:canvas模拟文字沙粒物理落下堆积破坏动画交互代码,拖动鼠标倾倒细沙。双击或右键拖动以破坏(掏空)压实的字形。
代码标签: canvas 模拟 文字 沙粒 物理 落下 堆积 破坏 动画 交互 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
:root {
--bg: #050505;
--panel: rgba(8, 8, 9, 0.58);
--panel-strong: rgba(8, 8, 9, 0.78);
--line: rgba(244, 201, 123, 0.16);
--gold: #d9aa56;
--gold-soft: #f3d18a;
--pink: #ff5a9c;
--text: #fff4df;
--muted: rgba(255, 244, 223, 0.62);
--faint: rgba(255, 244, 223, 0.34);
}
* {
box-sizing: border-box;
}
html,
body {
width: 100%;
height: 100%;
margin: 0;
overflow: hidden;
background: radial-gradient(
circle at 70% 35%,
rgba(222, 165, 72, 0.16),
transparent 31%
),
radial-gradient(circle at 52% 95%, rgba(255, 90, 156, 0.08), transparent 35%),
linear-gradient(135deg, #020202, #080808 55%, #020202);
color: var(--text);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
"Segoe UI", sans-serif;
user-select: none;
touch-action: none;
}
#app {
position: fixed;
inset: 0;
overflow: hidden;
}
#sand {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
display: block;
cursor: crosshair;
}
.frame {
position: absolute;
inset: 12px;
border: 1px solid rgba(255, 255, 255, 0.09);
border-radius: 22px;
pointer-events: none;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06),
0 28px 80px rgba(0, 0, 0, 0.52);
}
.topbar {
position: absolute;
top: 18px;
left: 22px;
right: 22px;
height: 42px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
pointer-events: none;
z-index: 5;
}
.brand {
display: inline-flex;
align-items: center;
gap: 10px;
min-width: 0;
padding: 9px 12px;
border: 1px solid rgba(255, 255, 255, 0.09);
border-radius: 999px;
background: rgba(0, 0, 0, 0.34);
backdrop-filter: blur(14px);
color: rgba(255, 255, 255, 0.84);
font-size: 12px;
font-weight: 720;
letter-spacing: 0.02em;
box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
}
.brand-mark {
color: var(--gold-soft);
}
.top-actions {
display: flex;
gap: 8px;
pointer-events: auto;
}
button {
height: 34px;
border: 1px solid rgba(243, 209, 138, 0.24);
border-radius: 999px;
padding: 0 13px;
background: rgba(243, 209, 138, 0.07);
color: var(--gold-soft);
font: inherit;
font-size: 11px;
font-weight: 740;
letter-spacing: 0.08em;
text-transform: uppercase;
cursor: pointer;
}
button:hover {
background: rgba(243, 209, 138, 0.14);
}
.hud {
position: absolute;
left: 22px;
top: 76px;
width: 268px;
padding: 16px;
border: 1px solid var(--line);
border-radius: 18px;
background: linear-gradient(180deg, rgba(13, 13, 15, 0.7), rgba(5, 5, 6, 0.48)),
var(--panel);
backdrop-filter: blur(16px);
box-shadow: 0 20px 56px rgba(0, 0, 0, 0.34);
z-index: 6;
}
.kicker {
margin: 0 0 8px;
color: var(--gold-soft);
font-size: 10px;
font-weight: 840;
letter-spacing: 0.18em;
text-transform.........完整代码请登录后点击上方下载按钮下载查看















网友评论0