- 共享引擎(app/src/main):GestureEngine 6 手势识别、AudioEngine 三层音频 (ExoPlayer BGM 交叉淡入 / 对白 ducking / SoundPool 低延迟)、Game/GameEngine 状态机接口、MainActivity 全屏封面 + TalkBack - 《声命线》storyline:末世互动广播剧,3 幕 8 抉择点 4 结局 - 《声东击西》reflex:听声辨位反应,12 波战斗 + BGM 三档 BPM 变速 - 《暗室》escape:3x3 网格密室逃脱,钥匙→铁柜→保险丝→电箱→大门谜题链 - 文档:setup(从零搭建)/ architecture(架构)/ engine-api(引擎 API)/ asset-pipeline(资产流水线)/ games/*(三款游戏设计文档) - 资产管线:Qwen3-TTS 对白 + 程序合成音效/BGM + Mureka BGM 的 gen 脚本与台账, 全部 ogg 资产入库可复现 - env.d 环境脚本:android/tts 入库;sfx/mureka 含密钥不入库,仅提交 .example.sh 模板
12 lines
540 B
PowerShell
12 lines
540 B
PowerShell
# sa3.ps1 - PowerShell twin of the sa3 wrapper (and of sa3.bat).
|
|
# PowerShell users get clean Ctrl-C handling (no cmd.exe
|
|
# "Terminate batch job (Y/N)?" prompt, which is a .bat quirk).
|
|
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
$Py = Join-Path $ScriptDir ".venv\Scripts\python.exe"
|
|
if (-not (Test-Path $Py)) {
|
|
$Py = Join-Path $ScriptDir ".venv/bin/python" # POSIX layout (pwsh on mac/linux)
|
|
}
|
|
if (-not (Test-Path $Py)) { $Py = "python" }
|
|
& $Py (Join-Path $ScriptDir "scripts/sa3_tflite.py") @args
|
|
exit $LASTEXITCODE
|