文档整理: - 重写 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
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
// main.js — 入口
|
|
|
|
const DEV = location.search.includes('dev');
|
|
const TEST = location.search.includes('test');
|
|
|
|
let _booted = false;
|
|
|
|
async function boot(e) {
|
|
if (_booted) return;
|
|
_booted = true;
|
|
e.preventDefault();
|
|
|
|
// 屏幕常亮
|
|
try {
|
|
if ('wakeLock' in navigator) navigator.wakeLock.request('screen').catch(() => {});
|
|
} catch (_) {}
|
|
|
|
// 初始化子系统
|
|
await Narrator.init();
|
|
await Snd.init();
|
|
|
|
// 创建输入检测器
|
|
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]';
|
|
window.__engine = engine;
|
|
window.__input = input;
|
|
window.__selector = selector;
|
|
}
|
|
}
|
|
|
|
const _el = document.getElementById('g');
|
|
_el.addEventListener('touchend', boot, { once: true, passive: false });
|
|
_el.addEventListener('click', boot, { once: true });
|
|
|
|
// 防止页面缩放 / 滚动
|
|
document.addEventListener('touchmove', e => e.preventDefault(), { passive: false });
|
|
document.addEventListener('gesturestart', e => e.preventDefault());
|