three实现炫酷三维线框音乐多场景梦幻赛车游戏代码
代码语言:html
所属分类:游戏
代码描述:three实现炫酷三维线框音乐多场景梦幻赛车游戏代码
代码标签: three 炫酷 三维 线框 音乐 多场景 梦幻 赛车 游戏 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<style>
:root{
--ink:#26241f;
--paper:#fbfbf8;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;overflow:hidden;}
body{
background:linear-gradient(#fbfbf8,#e9e7e0);
font-family:"Didot","Bodoni MT","Playfair Display","Songti SC","Noto Serif SC",Georgia,serif;
color:var(--ink);
transition:color 1.2s ease;
user-select:none;-webkit-user-select:none;
}
canvas#gl{position:fixed;inset:0;display:block;}
/* ---------- atmosphere layers ---------- */
#vignette{position:fixed;inset:0;pointer-events:none;z-index:3;
background:radial-gradient(ellipse at 50% 46%, transparent 52%, rgba(0,0,0,.14) 100%);}
#grain{position:fixed;inset:0;pointer-events:none;z-index:4;opacity:.045;mix-blend-mode:overlay;}
#flash{position:fixed;inset:0;pointer-events:none;z-index:5;background:#fff;opacity:0;}
#flash.zap{animation:zap .55s ease-out;}
@keyframes zap{0%{opacity:.9}100%{opacity:0}}
/* ---------- HUD ---------- */
.hud{position:fixed;z-index:10;letter-spacing:.22em;font-size:11px;text-transform:uppercase;
transition:opacity 1s ease;color:var(--ink);}
#sceneTag{top:26px;left:30px;display:flex;align-items:baseline;gap:14px;}
#sceneTag .num{font-size:20px;letter-spacing:.1em;}
#sceneTag .zh{font-size:10px;opacity:.55;letter-spacing:.4em;}
#fragTag{top:28px;right:30px;font-family:"SF Mono",ui-monospace,Menlo,monospace;
font-size:11px;letter-spacing:.3em;opacity:.8;}
#mute{top:54px;right:30px;cursor:pointer;opacity:.5;font-size:10px;letter-spacing:.3em;}
#mute:hover{opacity:.9;}
#meterWrap{bottom:34px;left:50%;transform:translateX(-50%);width:200px;text-align:center;}
#meter{height:2px;background:currentColor;opacity:.14;border-radius:2px;}
#meterFill{position:absolute;left:0;top:0;height:2px;width:0%;border-radius:2px;
background:linear-gradient(90deg,#c95d3f,#d9a441,#3e6fae);
box-shadow:0 0 8px rgba(255,255,255,.35);transition:width .5s ease;}
#meterBar{position:relative;}
#meterLabel{margin-top:10px;font-size:9px;letter-spacing:.45em;opacity:.55;}
/* ---------- poetry ---------- */
#poem{position:fixed;left:50%;top:62%;transform:translateX(-50%);z-index:9;text-align:center;
pointer-events:none;opacity:0;transition:opacity 2.2s ease;max-width:84vw;}
#poem.show{opacity:1;}
#poem .en{font-size:clamp(17px,2.6vw,26px);font-style:italic;letter-spacing:.06em;}
#poem .zh{margin-top:10px;font-size:12px;letter-spacing:.55em;opacity:.6;}
#word{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:9;
font-style:italic;font-size:13px;letter-spacing:.18em;opacity:0;transition:opacity .9s ease;
pointer-events:none;}
#word.show{opacity:.7;}
/* ---------- start screen ---------- */
#start{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;
justify-content:center;cursor:pointer;background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.25),transparent 70%);
transition:opacity 1.6s ease;}
#start.gone{opacity:0;pointer-events:none;}
#start .kicker{font-size:10px;letter-spacing:.6em;opacity:.55;text-transform:uppercase;}
#start h1{font-size:clamp(34px,7vw,74px);font-weight:400;letter-spacing:.18em;margin:22px 0 6px;
text-transform:uppercase;}
#start .zhTitle{font-size:13px;letter-spacing:.9em;opacity:.6;margin-bottom:34px;text-indent:.9em;}
#start .rule{width:54px;height:1px;background:currentColor;opacity:.4;margin-bottom:34px;}
#start .hint{font-size:11px;letter-spacing:.3em;opacity:.55;line-height:2.2;text-align:center;
text-transform:uppercase;}
#start .begin{margin-top:42px;font-size:12px;letter-spacing:.5em;text-transform:uppercase;
animation:breathe 3.2s ease-in-out infinite;}
@keyframes breathe{0%,100%{opacity:.35}50%{opacity:.9}}
/* ---------- interstitial (scene transition card) ---------- */
#card{position:fixed;inset:0;z-index:25;background:#fff;display:flex;flex-direction:column;
align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 1.4s ease;
color:#1c1b18;}
#card.show{opacity:1;}
#card .num{font-size:clamp(60px,12vw,120px);letter-spacing:.1em;line-height:1;}
#card .name{margin-top:18px;font-size:clamp(14px,2.4vw,22px);letter-spacing:.5em;text-transform:uppercase;text-indent:.5em;}
#card .zh{margin-top:14px;font-size:12px;letter-spacing:.7em;opacity:.55;text-indent:.7em;}
#card .rule{width:42px;height:1px;background:#1c1b18;opacity:.35;margin-top:30px;}
/* ---------- ending ---------- */
#end{position:fixed;inset:0;z-index:28;background:.........完整代码请登录后点击上方下载按钮下载查看















网友评论0