Honey Village: six model builds + hub frontend, Dockerized for Dokploy

This commit is contained in:
2026-07-15 10:50:12 -04:00
commit 67253bded5
523 changed files with 58879 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
import Phaser from 'phaser';
import { SCENE_KEYS } from '../data/constants';
import { audio } from '../audio/ProceduralAudio';
export class TitleScene extends Phaser.Scene {
constructor() {
super(SCENE_KEYS.TITLE);
}
create(): void {
const { width, height } = this.cameras.main;
this.cameras.main.setBackgroundColor('#87b8e8');
this.add
.text(width / 2, 48, '崩坏童话', {
fontFamily: 'monospace',
fontSize: '20px',
color: '#fff8e8',
stroke: '#c06030',
strokeThickness: 3,
})
.setOrigin(0.5);
this.add
.text(width / 2, 72, '蜜糖村', {
fontFamily: 'monospace',
fontSize: '28px',
color: '#ffe08a',
stroke: '#d07030',
strokeThickness: 4,
})
.setOrigin(0.5);
this.add
.text(width / 2, 110, '按 E 或 空格 开始', {
fontFamily: 'monospace',
fontSize: '10px',
color: '#fff0d0',
})
.setOrigin(0.5);
this.add
.text(width / 2, 150, 'WASD / 方向键移动 · E 交互 · ` Debug', {
fontFamily: 'monospace',
fontSize: '8px',
color: '#d0e8ff',
})
.setOrigin(0.5);
// Decorative sunflower-ish pixels
for (let i = 0; i < 8; i++) {
const a = (i / 8) * Math.PI * 2;
this.add.circle(
width / 2 + Math.cos(a) * 40,
100 + Math.sin(a) * 12,
3,
0xffd040,
);
}
this.add.circle(width / 2, 100, 5, 0xc08030);
const start = () => {
void audio.unlock();
this.input.keyboard?.off('keydown-E', start);
this.input.keyboard?.off('keydown-SPACE', start);
this.scene.start(SCENE_KEYS.NAME);
};
this.input.keyboard?.on('keydown-E', start);
this.input.keyboard?.on('keydown-SPACE', start);
}
}