three实现三维地堡360度射击飞机游戏代码

代码语言:html

所属分类:游戏

代码描述:three实现三维地堡360度射击飞机游戏代码,敌机正多方向逼近我方机场。操纵 M2 “猎隼” 高射机枪,在轰炸机投弹之前将其击落。 连续命中可累积连击倍率;持续射击会过热——把握节奏,守住阵地。鼠标转动瞄准,左键/空格按住连射 P暂停作战,炸弹可在空中击毁

代码标签: three 三维 地堡 360度 射击 飞机 游戏 代码

下面为部分代码预览,完整代码请点击下载或在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>苍穹防线 · 机枪防空战</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='0.9em' font-size='90'>✈</text></svg>">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Noto+Sans+SC:wght@400;500;700;900&display=swap" rel="stylesheet">
<style>
:root{
  --amber:#ffb340; --amber2:#ff8c1a; --olive:#7a8450; --paper:#e8e4d8;
  --red:#ff4a3d; --panel:rgba(12,18,26,.86);
  --sp:14px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}
html,body{width:100%;height:100%;overflow:hidden;background:#0b1420;font-family:"Noto Sans SC",sans-serif;color:var(--paper)}
canvas{display:block}
body.playing{cursor:none}
.num{font-family:"Black Ops One","Noto Sans SC",sans-serif;font-weight:400}

/* ---------- 全屏扫描线氛围 ---------- */
#scan{position:fixed;inset:0;z-index:6;pointer-events:none;opacity:.35;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 2px,transparent 2px 4px)}
#vig{position:fixed;inset:0;z-index:6;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 55%,rgba(4,8,14,.55) 100%)}
#dmg{position:fixed;inset:0;z-index:7;pointer-events:none;opacity:0;transition:opacity .45s;
  background:radial-gradient(ellipse at center,transparent 40%,rgba(255,40,20,.55) 100%)}
#dmg.lowhp{animation:lowpulse 1.1s ease-in-out infinite}
@keyframes lowpulse{0%,100%{opacity:.12}50%{opacity:.5}}

/* ---------- HUD ---------- */
#hud{position:fixed;inset:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .6s}
body.playing #hud{opacity:1}
.hudlabel{font-size:10px;letter-spacing:.32em;color:rgba(232,228,216,.6);font-weight:700}

#scoreBlock{position:absolute;top:22px;left:26px}
#scoreBlock .hudlabel{display:block;margin-bottom:2px}
#score{font-size:44px;line-height:1;color:var(--amber);text-shadow:0 0 18px rgba(255,179,64,.35)}
#killsLine{margin-top:6px;font-size:12px;color:rgba(232,228,216,.75);letter-spacing:.14em}
#killsLine b{color:#fff;font-weight:900}
#combo{margin-top:8px;display:none;font-size:15px;font-weight:900;color:var(--amber2)}
#combo.on{display:block;animation:pop .18s ease-out}
@keyframes pop{from{transform:scale(1.6)}to{transform:scale(1)}}

#waveBlock{position:absolute;top:22px;left:50%;transform:translateX(-50%);text-align:center}
#waveBlock .hudlabel{display:block}
#waveNo{font-size:30px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.4)}
#leftTag{margin-top:4px;font-size:11px;letter-spacing:.2em;color:rgba(232,228,216,.65)}

#hpBlock{position:absolute;top:24px;right:26px;width:250px;text-align:right}
#hpBlock .hudlabel{display:block;margin-bottom:5px}
#hpBar{height:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,0 calc(100% - 8px));position:relative;overflow:hidden}
#hpFill{height:100%;width:100%;background:linear-gradient(90deg,#8fbf4d,#c9e265);transition:width .25s}
#hpFill.warn{background:linear-gradient(90deg,#ffb340,#ffd76a)}
#hpFill.crit{background:linear-gradient(90deg,#ff4a3d,#ff8a5c)}
#hpBar::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(0,0,0,.45) 23px 25px)}

#heatWrap{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:340px;text-align:center}
#heatWrap .hudlabel{display:flex;justify-content:space-between;margin-bottom:5px}
#heatBar{height:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);transform:skewX(-18deg);overflow:hidden}
#heatFill{height:100%;width:0%;background:linear-gradient(90deg,#6fd06f,#ffd23f 55%,#ff5a1f 85%,#ff2d1a)}
#overTag{margin-top:7px;font-size:14px;font-weight:900;letter-spacing:.3em;color:var(--red);visibility:hidden}
#heatWrap.hot #overTag{visibility:visible;animation:blink .35s steps(2) infinite}
@keyframes blink{to{opacity:.15}}

/* 准星 */
#xhair{position:fixed;left:50%;top:50%;z-index:9;pointer-events:none;display:none}
body.playing #xhair{display:block}
#xhair .dot{position:absolute;left:-2px;top:-2px;width:4px;height:4px;background:var(--amber);border-radius:50%}
#xhair .tk{position:absolute;background:rgba(240,246,255,.92);box-shadow:0 0 6px rgba(0,0,0,.5)}
#xhair .t1{width:2px;height:11px;left:-1px;top:calc(-1*var(--sp) - 11px)}
#xhair .t2{width:2px;height:11px;left:-1px;top:var(--sp)}
#xhair .t3{width:11px;height:2px;top:-1px;left:calc(-1*var(--sp) - 11px)}
#xhair .t4{width:11px;height:2px;top:-1px;left:var(--sp)}
#xhair .ring{position:absolute;left:calc(-1*var(--sp));top:calc(-1*var(--sp));width:calc(var(--sp)*2);height:calc(var(--sp)*2);
  border:1px solid rgba(240,246,255,.28);border-radius:50%.........完整代码请登录后点击上方下载按钮下载查看

网友评论0