项目整理:重写主文档、归档过时文档、清理死代码、新增音频制作手册

文档整理:
- 重写 game/操作说明.md 为项目主文档(6游戏/6手势/旁白/模型生成音频/TTS两步流程)
- 归档过时文档至 other_docs/(林夏原始设计、旧执行文档)
- 新增 docs/音频制作执行手册.md(从零制作游戏音频的完整流程)
- docs/ 下保留旁白音色提示词、音频脚本

代码清理:
- 删除旧架构死代码: story.js / gestures.js / profile.js
- 删除耦合旧架构的过时测试目录 game/tests/

脚本配置修正:
- check_tts_env.sh: 启动脚本路径 AutoVideo → tts-server(实际位置)
- gen_narrator_samples.py: 硬编码地址改为环境变量,默认对齐 tts-server 端口 8000
This commit is contained in:
xsl
2026-06-19 22:29:04 +08:00
parent b3384499e3
commit 866f363591
46 changed files with 5061 additions and 2374 deletions
+35 -42
View File
@@ -1,58 +1,51 @@
// main.js — 游戏入口
// main.js — 入口
let engine = null;
let gestures = null;
const DEV = location.search.includes('dev');
const TEST = location.search.includes('test');
async function main() {
TTS.init();
let _booted = false;
// 初始化音频(必须在用户手势后)
await Snd.init();
async function boot(e) {
if (_booted) return;
_booted = true;
e.preventDefault();
// 请求屏幕常亮
// 屏幕常亮
try {
if ('wakeLock' in navigator) {
window._wakeLock = await navigator.wakeLock.request('screen');
}
if ('wakeLock' in navigator) navigator.wakeLock.request('screen').catch(() => {});
} catch (_) {}
// 绑定手势
const gameEl = document.getElementById('game');
gestures = new GestureDetector(gameEl);
// 初始化子系统
await Narrator.init();
await Snd.init();
// 创建并启动引擎
engine = new GameEngine();
engine.init(gestures);
await engine.start();
// 创建输入检测器
const touchEl = document.getElementById('g');
const input = new InputDetector(touchEl);
// 创建引擎
const engine = new SceneEngine();
// 先启用输入
input.enable();
// 启动选择器
const selector = new GameSelector(engine, input);
await selector.start();
if (DEV) {
document.getElementById('dbg').style.display = 'block';
document.title = '林夏 [DEV]';
document.title = '盲游 [DEV]';
window.__engine = engine;
window.__input = input;
window.__selector = selector;
}
}
// 防止双重启动
let _started = false;
function startGame(el) {
if (_started) return;
_started = true;
el.style.transition = 'opacity 0.8s';
el.style.opacity = '0';
setTimeout(() => { el.style.display = 'none'; }, 800);
main();
}
const _el = document.getElementById('g');
_el.addEventListener('touchend', boot, { once: true, passive: false });
_el.addEventListener('click', boot, { once: true });
// 触摸启动(手机)
document.getElementById('start').addEventListener('touchend', function(e) {
e.preventDefault();
startGame(this);
}, { once: true });
// 鼠标点击(电脑调试)
document.getElementById('start').addEventListener('click', function() {
startGame(this);
}, { once: true });
// 防止页面滚动/缩放
document.addEventListener('touchmove', e => e.preventDefault(), { passive: false });
// 防止页面缩放 / 滚动
document.addEventListener('touchmove', e => e.preventDefault(), { passive: false });
document.addEventListener('gesturestart', e => e.preventDefault());