- 新增 web/ 纯音频 HTML5 平台:共享引擎(手势/WebAudio 三层/设置/震动)、 Node 零依赖服务器(静态 + 注册登录 + 进度存档 API) - 游戏:剑与声(RPG 新作)、声命线、暗室(重设计)、音序回响(重设计)、 节拍行者(跟随领奏重构)、盲航(同向闪避重构);声东击西删除 - 全局功能:男声/女声双套 TTS 资产、三档语速、BGM 音量三档、 震动反馈语言(10 种震型)、服务器进度同步 - 资产:899 ogg + 899 m4a(Qwen3-TTS 双性别语音、Stable Audio 3 音效、 Mureka BGM 4+3 首),终检零缺失 - 文档:docs/design/ 13 篇设计审查文档、docs/audio/ 资产管线、 web/server/README.md API 文档
28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
/**
|
||
* 模板游戏 —— 最小可运行示例:任意手势播一个测试音。
|
||
*
|
||
* 新游戏复制整个 web/template/ 目录为 web/<你的游戏名>/,然后:
|
||
* 1. 把本文件替换成你的游戏逻辑(继承 Game 或 StateMachineGame);
|
||
* 2. 替换 index.html 里的 <title> 和 import 的类名;
|
||
* 3. 音频放 audio/{bgm,voice,sfx}/ 下,用 audio.play('sfx/xxx') 播放;
|
||
* 4. 替换 cover.png(1080x1920 竖图)。
|
||
* 引擎 API 详见 docs/web-engine-api.md。
|
||
*/
|
||
import { Game } from '../engine/game.js';
|
||
|
||
export class TemplateGame extends Game {
|
||
start() {
|
||
// 预解码音效,消除首次播放延迟(等价于 Android 的 prewarm,
|
||
// 但 Web 端不需要音量 0 假播)
|
||
this.audio.prewarm(['sfx/beep']);
|
||
this.audio.play('sfx/beep');
|
||
}
|
||
|
||
onGesture(g) {
|
||
// 六种手势:'up' | 'down' | 'left' | 'right' | 'tap' | 'doubletap'
|
||
// 注意 'tap' 有约 300ms 延迟(双击判定窗口),属引擎级行为。
|
||
console.log('[TemplateGame] gesture:', g);
|
||
this.audio.play('sfx/beep');
|
||
}
|
||
}
|