three实现三维开放城市汽车行驶场景代码

代码语言:html

所属分类:其他

代码描述:三维开放城市汽车驾驶碰撞

代码标签: three 三维 开放 城市 汽车 行驶 场景 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Open World City - Three.js</title>
<style>
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html, body { width: 100%; height: 100%; overflow: hidden; background: #000; font-family: -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif; color: #fff; }
  canvas { display: block; }
  #ui {
    position: fixed; inset: 0; pointer-events: none; z-index: 10;
  }
  .panel {
    position: absolute; background: rgba(0,0,0,.55); padding: 8px 12px;
    border-radius: 6px; font-size: 12px; line-height: 1.6;
    backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.1);
  }
  #hud { top: 12px; left: 12px; min-width: 180px; }
  #controls { bottom: 12px; left: 12px; font-size: 11px; }
  #controls kbd {
    display: inline-block; padding: 1px 5px; background: #333; border: 1px solid #555;
    border-radius: 3px; font-family: monospace; font-size: 10px; margin: 0 2px;
  }
  #weather-panel { top: 12px; right: 12px; pointer-events: auto; }
  #weather-panel button {
    background: #333; border: 1px solid #555; color: #fff; padding: 4px 8px;
    border-radius: 3px; margin: 2px; cursor: pointer; font-size: 11px;
  }
  #weather-panel button.active { background: #3a78d8; border-color: #3a78d8; }
  #weather-panel button:hover { background: #444; }
  #weather-panel button.active:hover { background: #3a78d8; }
  #time-panel { top: 12px; right: 12px; transform: translateY(60px); pointer-events: auto; }
  #time-panel input[type="range"] { width: 140px; vertical-align: middle; }
  #minimap-wrap {
    position: absolute; right: 12px; bottom: 12px; pointer-events: none;
  }
  #minimap {
    background: rgba(0,0,0,.7); border: 2px solid rgba(255,255,255,.3);
    border-radius: 6px;
  }
  #minimap-label { text-align: center; font-size: 10px; margin-top: 4px; opacity: .7; }
  #message {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    background: rgba(0,0,0,.7); padding: 16px 24px; border-radius: 8px;
    font-size: 14px; opacity: 0; transition: opacity .3s; pointer-events: none;
  }
  #message.show { opacity: 1; }
</style>
</head>
<body>
<div id="ui">
  <div id="hud" class="panel">
    <div>🚗 <b>速度: </b><span id="speed">0</span> km/h</div>
    <div>🕐 <b>时间: </b><span id="time">06:00</span></div>
    <div>🌤️ <b>天气: </b><span id="weather">晴</span></div>
    <div>📷 <b>视角: </b><span id="view">第三人称</span></div>
  </div>
  <div id="controls" class="panel">
    <b>操作:</b> <kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd> 驾驶 ·
    <kbd>C</kbd> 切换视角 · <kbd>Space</kbd> 手刹 · <kbd>Shift</kbd> 加速
  </div>
  <div id="weather-panel" class="panel">
    <b>天气</b><br>
    <button data-w="sunny" class="active">☀️ 晴</button>
    <button data-w="cloudy">☁️ 阴</button>
    <button data-w="rain">🌧️ 雨</button>
    <button data-w="snow">❄️ 雪</button>
    <button data-w="fog">🌫️ 雾</button>
  </div>
  <div id="time-panel" class="panel">
    <b>时间</b> <span id="timeLabel">06:00</span><br>
    <input type="range" id="timeSlider" min="0" max="24" step="0.1" value="6">
    <button id="timeAuto" style="background:#3a78d8;border:1px solid #3a78d8;color:#fff;padding:4px 8px;border-radius:3px;cursor:pointer;font-size:11px;margin-left:4px">▶ 自动</button>
  </div>
  <div id="minimap-wrap.........完整代码请登录后点击上方下载按钮下载查看

网友评论0