diff --git a/src/game/scenes/TitleScene.ts b/src/game/scenes/TitleScene.ts index 0dc3c88..66b200e 100644 --- a/src/game/scenes/TitleScene.ts +++ b/src/game/scenes/TitleScene.ts @@ -367,10 +367,10 @@ export class TitleScene extends Phaser.Scene { this.closeSaveSlotPanel(); const panel = this.add.container(x, y + 238); - const backdrop = this.add.rectangle(0, 0, 286, 188, 0x0e151d, 0.9); + const backdrop = this.add.rectangle(0, 0, 286, 204, 0x0e151d, 0.9); backdrop.setStrokeStyle(1, palette.gold, 0.52); - const title = this.add.text(0, -66, '설정', { + const title = this.add.text(0, -74, '설정', { fontSize: '24px', color: '#f1e3c2', fontStyle: '700', @@ -379,20 +379,30 @@ export class TitleScene extends Phaser.Scene { }); title.setOrigin(0.5); - const soundText = this.createSettingsButton(0, -10, this.soundLabel()); + const soundText = this.createSettingsButton(0, -16, this.soundLabel()); soundText.on('pointerdown', () => { soundDirector.setMuted(!soundDirector.isMuted()); soundText.setText(this.soundLabel()); soundDirector.playSelect(); }); - const close = this.createSettingsButton(0, 48, '닫기'); + const close = this.createSettingsButton(0, 42, '닫기'); close.on('pointerdown', () => { soundDirector.playSelect(); this.closeSettingsPanel(); }); - panel.add([backdrop, title, soundText, close]); + const hint = this.add.text(0, 78, 'Esc 닫기', { + fontFamily: '"Malgun Gothic", "Noto Sans KR", sans-serif', + fontSize: '11px', + color: '#9fb0bf', + fontStyle: '700', + fixedWidth: 210, + align: 'center' + }); + hint.setOrigin(0.5); + + panel.add([backdrop, title, soundText, close, hint]); panel.setAlpha(0); this.settingsPanel = panel; this.tweens.add({ targets: panel, alpha: 1, y: y + 228, duration: 160, ease: 'Sine.easeOut' }); @@ -452,10 +462,10 @@ export class TitleScene extends Phaser.Scene { this.closeNewGameConfirmPanel(); const panel = this.add.container(x, y + 252); - const backdrop = this.add.rectangle(0, 0, 318, 256, 0x0e151d, 0.95); + const backdrop = this.add.rectangle(0, 0, 318, 280, 0x0e151d, 0.95); backdrop.setStrokeStyle(1, palette.gold, 0.58); - const title = this.add.text(0, -104, '이어갈 기록 선택 (1~3)', { + const title = this.add.text(0, -116, '이어갈 기록 선택 (1~3)', { fontFamily: '"Malgun Gothic", "Noto Sans KR", sans-serif', fontSize: '22px', color: '#f1e3c2', @@ -465,14 +475,24 @@ export class TitleScene extends Phaser.Scene { }); title.setOrigin(0.5); - const rows = listCampaignSaveSlots().map((slot, index) => this.createSaveSlotRow(slot, -74 + index * 58)); - const close = this.createSettingsButton(0, 104, '닫기'); + const rows = listCampaignSaveSlots().map((slot, index) => this.createSaveSlotRow(slot, -82 + index * 58)); + const close = this.createSettingsButton(0, 96, '닫기'); close.on('pointerdown', () => { soundDirector.playSelect(); this.closeSaveSlotPanel(); }); - panel.add([backdrop, title, ...rows, close]); + const hint = this.add.text(0, 126, '숫자키 1~3 선택 · Esc 닫기', { + fontFamily: '"Malgun Gothic", "Noto Sans KR", sans-serif', + fontSize: '11px', + color: '#9fb0bf', + fontStyle: '700', + fixedWidth: 260, + align: 'center' + }); + hint.setOrigin(0.5); + + panel.add([backdrop, title, ...rows, close, hint]); panel.setAlpha(0); this.saveSlotPanel = panel; this.tweens.add({ targets: panel, alpha: 1, y: y + 242, duration: 160, ease: 'Sine.easeOut' });