This commit is contained in:
dgflash
2025-08-29 18:02:16 +08:00
parent 0581773c94
commit b54fd6b0e7
5 changed files with 41 additions and 24 deletions

View File

@@ -2,7 +2,7 @@ import { AudioClip, Node, NodePool } from "cc";
import { oops } from "../../Oops";
import { resLoader } from "../loader/ResLoader";
import { AudioEffect } from "./AudioEffect";
import { AudioEffectType } from "./AudioManager";
import { AudioEffectType } from "./AudioEnum";
import { IAudioData, IAudioParams } from "./IAudio";
/** 音乐效缓冲编号最大值 */

View File

@@ -0,0 +1,7 @@
/** 音乐音效默认类型 */
export enum AudioEffectType {
/** 背景音乐 */
Music = "music",
/** 音乐音效 */
Effect = "effect",
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "68e8e4a0-93f5-4606-9c42-06b1daff6d1e",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -2,18 +2,12 @@ import { AudioClip, Component } from "cc";
import { oops } from "../../Oops";
import { AudioEffect } from "./AudioEffect";
import { AudioEffectPool } from "./AudioEffectPool";
import { AudioEffectType } from "./AudioEnum";
import { AudioMusic } from "./AudioMusic";
import { IAudioData, IAudioParams } from "./IAudio";
const LOCAL_STORE_KEY = "game_audio";
/** 音乐音效默认类型 */
export enum AudioEffectType {
/** 背景音乐 */
Music = "music",
/** 音乐音效 */
Effect = "effect",
}
/**
* 音频管理
@@ -88,21 +82,28 @@ export class AudioManager extends Component {
}
private setStateDefault() {
this.data = {
music: { switch: true, volume: 1 },
effect: { switch: true, volume: 1 },
};
//@ts-ignore
this.music.data = this.data;
this.music.setSwitch(true);
this.music.setVolume(1);
//@ts-ignore
this.effect.data = this.data;
this.effect.setSwitch(true, AudioEffectType.Effect);
this.effect.setVolume(1, AudioEffectType.Effect);
this.data = {};
for (const key in AudioEffectType) {
//@ts-ignore
const value = AudioEffectType[key];
if (typeof value === 'string') {
this.data[value] = { switch: true, volume: 1 };
switch (value) {
case AudioEffectType.Music:
//@ts-ignore
this.music.data = this.data;
this.music.setSwitch(true);
this.music.setVolume(1);
break;
default:
//@ts-ignore
this.effect.data = this.data;
this.effect.setSwitch(true, value);
this.effect.setVolume(1, value);
break;
}
}
}
this.save();
}
}

View File

@@ -6,7 +6,7 @@
*/
import { AudioClip, AudioSource, _decorator } from 'cc';
import { resLoader } from '../loader/ResLoader';
import { AudioEffectType } from './AudioManager';
import { AudioEffectType } from './AudioEnum';
import { IAudioData, IAudioParams } from './IAudio';
const { ccclass } = _decorator;