diff --git a/src/App.tsx b/src/App.tsx index 1d8be9c..d1cc4bd 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -267,6 +267,11 @@ const App: FC = () => { find.x = 100 * Math.floor(8 * Math.random()); find.y = 700; checkCover(scene); + // 音效 + if (soundRefMap.current?.['sound-shift']) { + soundRefMap.current['sound-shift'].currentTime = 0; + soundRefMap.current['sound-shift'].play(); + } } }; @@ -281,12 +286,22 @@ const App: FC = () => { setQueue(updateQueue); find.status = 0; checkCover(scene); + // 音效 + if (soundRefMap.current?.['sound-undo']) { + soundRefMap.current['sound-undo'].currentTime = 0; + soundRefMap.current['sound-undo'].play(); + } } }; // 洗牌 const wash = () => { checkCover(washScene(level, scene)); + // 音效 + if (soundRefMap.current?.['sound-wash']) { + soundRefMap.current['sound-wash'].currentTime = 0; + soundRefMap.current['sound-wash'].play(); + } }; // 加大难度 @@ -324,7 +339,6 @@ const App: FC = () => { // 点击音效 if (soundRefMap.current) { - console.log(soundRefMap.current, symbol.icon); soundRefMap.current[symbol.icon.clickSound].currentTime = 0; soundRefMap.current[symbol.icon.clickSound].play(); } @@ -405,6 +419,8 @@ const App: FC = () => { Level: {level} + {curTheme.desc} +
diff --git a/src/themes/interface.ts b/src/themes/interface.ts index 50a0e9f..f933753 100644 --- a/src/themes/interface.ts +++ b/src/themes/interface.ts @@ -12,10 +12,14 @@ interface Sound { src: string; } +type Operation = 'shift' | 'undo' | 'wash'; + export interface Theme { title: string; + desc?: ReactNode; name: string; bgm?: string; icons: Icon[]; sounds: Sound[]; + operateSoundMap?: Record; } diff --git a/src/themes/pdd/index.tsx b/src/themes/pdd/index.tsx index b417241..231a5b0 100644 --- a/src/themes/pdd/index.tsx +++ b/src/themes/pdd/index.tsx @@ -1,9 +1,19 @@ // 骚猪主题 import React from 'react'; import { Theme } from '../interface'; -import { DefaultSoundNames, defaultSounds } from '../default'; +import { defaultSounds } from '../default'; import bgm from './sounds/bgm.mp3'; +const soundUrls = import.meta.glob('./sounds/*.mp3', { + import: 'default', + eager: true, +}); + +const sounds = Object.entries(soundUrls).map(([key, value]) => ({ + name: key.slice(9, -4), + src: value, +})) as Theme['sounds']; + const imagesUrls = import.meta.glob('./images/*.png', { import: 'default', eager: true, @@ -16,15 +26,28 @@ const images = Object.entries(imagesUrls).map(([key, value]) => ({ content: , })); -export const pddTheme: Theme = { +export const pddTheme: Theme = { title: '🐷猪了个猪🐷', + desc: ( +

+ 感谢 + + 猪酱的日常 + + 提供素材 +

+ ), name: '骚猪', - bgm: 'https://m10.music.126.net/20220922020823/e92de2ba173e404bab61a4719b8d624b/ymusic/0759/010e/0e5d/03e18aa0e96daf33193797e61f6a314d.mp3', + bgm: bgm, icons: images.map(({ name, content }) => ({ name, content, clickSound: 'button-click', - tripleSound: 'triple', + tripleSound: name, })), - sounds: defaultSounds, + sounds: [defaultSounds[0], ...sounds], }; diff --git a/src/themes/pdd/sounds/1.mp3 b/src/themes/pdd/sounds/1.mp3 new file mode 100644 index 0000000..85cd474 Binary files /dev/null and b/src/themes/pdd/sounds/1.mp3 differ diff --git a/src/themes/pdd/sounds/10.mp3 b/src/themes/pdd/sounds/10.mp3 new file mode 100644 index 0000000..d8dec5c Binary files /dev/null and b/src/themes/pdd/sounds/10.mp3 differ diff --git a/src/themes/pdd/sounds/2.mp3 b/src/themes/pdd/sounds/2.mp3 new file mode 100644 index 0000000..08c229f Binary files /dev/null and b/src/themes/pdd/sounds/2.mp3 differ diff --git a/src/themes/pdd/sounds/3.mp3 b/src/themes/pdd/sounds/3.mp3 new file mode 100644 index 0000000..61e7696 Binary files /dev/null and b/src/themes/pdd/sounds/3.mp3 differ diff --git a/src/themes/pdd/sounds/4.mp3 b/src/themes/pdd/sounds/4.mp3 new file mode 100644 index 0000000..cb5601d Binary files /dev/null and b/src/themes/pdd/sounds/4.mp3 differ diff --git a/src/themes/pdd/sounds/5.mp3 b/src/themes/pdd/sounds/5.mp3 new file mode 100644 index 0000000..a0d51b0 Binary files /dev/null and b/src/themes/pdd/sounds/5.mp3 differ diff --git a/src/themes/pdd/sounds/6.mp3 b/src/themes/pdd/sounds/6.mp3 new file mode 100644 index 0000000..407e668 Binary files /dev/null and b/src/themes/pdd/sounds/6.mp3 differ diff --git a/src/themes/pdd/sounds/7.mp3 b/src/themes/pdd/sounds/7.mp3 new file mode 100644 index 0000000..43615dd Binary files /dev/null and b/src/themes/pdd/sounds/7.mp3 differ diff --git a/src/themes/pdd/sounds/8.mp3 b/src/themes/pdd/sounds/8.mp3 new file mode 100644 index 0000000..717d443 Binary files /dev/null and b/src/themes/pdd/sounds/8.mp3 differ diff --git a/src/themes/pdd/sounds/9.mp3 b/src/themes/pdd/sounds/9.mp3 new file mode 100644 index 0000000..b372d4c Binary files /dev/null and b/src/themes/pdd/sounds/9.mp3 differ diff --git a/src/themes/pdd/sounds/sound-shift.mp3 b/src/themes/pdd/sounds/sound-shift.mp3 new file mode 100644 index 0000000..33ddb1f Binary files /dev/null and b/src/themes/pdd/sounds/sound-shift.mp3 differ diff --git a/src/themes/pdd/sounds/sound-undo.mp3 b/src/themes/pdd/sounds/sound-undo.mp3 new file mode 100644 index 0000000..fa20d12 Binary files /dev/null and b/src/themes/pdd/sounds/sound-undo.mp3 differ diff --git a/src/themes/pdd/sounds/sound-wash.mp3 b/src/themes/pdd/sounds/sound-wash.mp3 new file mode 100644 index 0000000..2880f82 Binary files /dev/null and b/src/themes/pdd/sounds/sound-wash.mp3 differ