-
Creator 版本: <3.5>
-
目标平台: <!谷歌浏览器”)–>
/////////////////////////////////////////////////////
import { _decorator, Component, Node, AudioClip, AudioSource, assert } from ‘cc’;
import { Constant } from ‘./Constant’;
const { ccclass, property } = _decorator;
interface IAudioMap {
[name: string]: AudioClip;
}
@ccclass(‘AudioManager’)
export class AudioManager extends Component {
@property([AudioClip])
public audioList: AudioClip[] = [];
private _dict: IAudioMap = {};
private _audioSource: AudioSource = null;
static _instance: AudioManager = null;
static get instance() {
if (this._instance)
return this._instance;
this._instance = new AudioManager();
return this._instance;
}
start() {
for (let i = 0; i < this.audioList.length; i++) {
const element = this.audioList[i];
console.log(element.name);
this._dict[element.name] = element;
}
this._audioSource = this.getComponent(AudioSource);
this.playBGM();
}
public playEffect(name: string) {
const clip = this._dict['enemy'];
console.log(clip);
if (clip) {
console.log('come in');
this._audioSource.playOneShot(clip);
}
}
public playBGM() {
this._audioSource.play();
}
}



