three实现三维儿童卡通游乐场场景动画代码
代码语言:html
所属分类:三维
代码描述:three实现三维儿童卡通游乐场场景动画代码
代码标签: three 三维 儿童 卡通 游乐场 场景 动画 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>彩虹游乐场 · Three.js 儿童乐园</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;800&family=Noto+Sans+SC:wght@400;500;700&family=ZCOOL+KuaiLe&display=swap" rel="stylesheet">
<style>
:root{
--ink:#37345e; --paper:#fffdf6;
--coral:#ff6b6b; --sun:#ffd93d; --mint:#6bcb77; --sky:#4d96ff; --pink:#ff8fab;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html,body{margin:0;height:100%;overflow:hidden;font-family:'Noto Sans SC',sans-serif;background:#8fd8ff;}
#app{position:fixed;inset:0;}
#app canvas{display:block;}
.sticker{
background:var(--paper); border:3px solid var(--ink); border-radius:16px;
box-shadow:5px 6px 0 rgba(55,52,94,.16);
transition:background .6s,color .6s,border-color .6s;
}
/* ---------- 品牌标题 ---------- */
#brand{position:fixed;top:18px;left:20px;padding:10px 22px 13px;transform:rotate(-2deg);z-index:10;user-select:none;}
#brand h1{
font-family:'ZCOOL KuaiLe';font-weight:400;margin:0;letter-spacing:3px;
font-size:clamp(26px,4.2vw,40px);color:var(--coral);
text-shadow:2.5px 2.5px 0 var(--sun), 5px 5px 0 rgba(55,52,94,.12);
}
#brand p{margin:3px 0 0;font-size:10.5px;letter-spacing:3.5px;color:#8a87ad;font-weight:700;}
/* ---------- 右上角按钮 ---------- */
#hud{position:fixed;top:18px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:12;}
.cbtn{
width:48px;height:48px;border-radius:50%;border:3px solid var(--ink);
font-size:21px;cursor:pointer;display:grid;place-items:center;line-height:1;padding:0;
box-shadow:3px 4px 0 rgba(55,52,94,.18);
transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,background .4s;
}
.cbtn:hover{transform:translateY(-3px) scale(1.07);box-shadow:3px 8px 0 rgba(55,52,94,.22);}
.cbtn:active{transform:translateY(1px) scale(.96);box-shadow:2px 2px 0 rgba(55,52,94,.2);}
.cbtn.on{background:var(--sun)!important;}
#hud .cbtn:nth-child(1){background:#cdeaff;}
#hud .cbtn:nth-child(2){background:#ffe3e3;}
#hud .cbtn:nth-child(3){background:#d9f7e6;}
#hud .cbtn:nth-child(4){background:#fff0c2;}
#hud .cbtn:nth-child(5){background:#e8f0ff;}
/* ---------- 快乐值 ---------- */
#score{
position:fixed;top:18px;left:50%;transform:translateX(-50%) rotate(1deg);
padding:8px 20px;font-family:'ZCOOL KuaiLe';font-size:17px;color:var(--ink);
z-index:10;display:flex;gap:8px;align-items:center;user-select:none;
}
#score b{color:var(--coral);font-size:23px;display:inline-block;font-weight:400;}
#score.bump b{animation:bump .45s cubic-bezier(.34,1.56,.64,1);}
@keyframes bump{40%{transform:scale(1.6) rotate(10deg);}}
/* ---------- 提示 / 弹窗 ---------- */
#hint{position:fixed;left:20px;bottom:18px;padding:8px 15px;font-size:12.5px;color:var(--ink);z-index:10;transform:rotate(1deg);user-select:none;}
#toast{
position:fixed;left:50%;bottom:66px;transform:translate(-50%,18px);
background:var(--ink);color:#fff;padding:10px 24px;border-radius:999px;
font-family:'ZCOOL KuaiLe';font-size:16px;letter-spacing:1.5px;opacity:0;pointer-events:none;
transition:.35s cubic-bezier(.34,1.56,.64,1);z-index:20;box-shadow:0 8px 24px rgba(20,18,50,.35);
}
#toast.show{opacity:1;transform:translate(-50%,0);}
/* ---------- 玩法说明 ---------- */
#help{
position:fixed;right:20px;top:50%;width:256px;padding:16px 20px;z-index:15;
transform:translateY(-50%) translateX(24px);opacity:0;pointer-events:none;transition:.3s ease;
}
#help.show{opacity:1;pointer-events:auto;transform:translateY(-50%);}
#help h3{font-family:'ZCOOL KuaiLe';font-weight:400;margin:0 0 10px;color:var(--sky);font-size:20px;letter-spacing:2px;}
#help ul{padding:0;margin:0;}
#help li{font-size:13px;color:var(--ink);margin:7px 0;list-style:none;line-height:1.5;}
#help footer{margin-top:12px;padding-top:9px;border-top:2px dashed #d9d6ef;font-size:10.5px;color:#9a97bb;letter-spacing:1px;}
/* ---------- 漂浮 +N ---------- */
#floats{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden;}
#floats span{
position:absolute;font-family:'ZCOOL KuaiLe';font-size:22px;color:var(--sun);
text-shadow:2px 2px 0 var(--ink);animation:floatUp 1.1s ease-out forwards;white-space:nowrap;
}
@keyframes floatUp{to{transform:translateY(-76px) rotate(6deg);opacity:0;}}
/* ---------- 加载页 ---------- */
#loader{
position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;gap:26px;align-items:center;justify-content:center;
background:linear-gradient(#79cdff 0%,#c6eeff 62%,#eafbff 100%);transition:opacity .7s ease;
}
#loader.done{opacity:0;pointer-events:none;}
.loader-sun{
width:74px;height:74px;border-radius:50%;background:var(--sun);
box-shadow:0 0 0 14px rgba(255,217,61,.35),0 0 0 30px rgba(255.........完整代码请登录后点击上方下载按钮下载查看















网友评论0