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