const GameModule = require("../utils/GameModule"); cc.Class({ extends: cc.Component, properties: { bgm: { tooltip: '背景音乐', default: null, type: cc.AudioClip }, buttonClickAudio: { tooltip: '普通按钮点击音效', default: null, type: cc.AudioClip }, getAwardAudio: { tooltip: '获得技能、奖励音效', default: null, type: cc.AudioClip }, updateBuildingAudio: { tooltip: '升级或解锁建筑,购买明星音效', default: null, type: cc.AudioClip }, clickCatAudio: { tooltip: '点击招财猫音效', default: null, type: cc.AudioClip }, getDrawAudio: { tooltip: '抽奖音效', default: null, type: cc.AudioClip }, getStarAudio: { tooltip: '获得明星音效', default: null, type: cc.AudioClip }, volume: { tooltip: '总音量', default: 1, type: cc.Integer }, bgmOpen: { get: function() { return this._bgmOpen; }, set: function(value) { this._bgmOpen = value; if (this._bgmOpen) { this.playBgm(); } else { this.stopBgm(); } cc.sys.localStorage.setItem("game_bgm_state", value); } }, soundEffectOpen: { get: function() { return this._soundEffectOpen; }, set: function(value) { this._soundEffectOpen = value; cc.sys.localStorage.setItem("game_sound_effect_state", value); } } }, onLoad () { GameModule.audioMng = this; this.currentAudio = {}; this.stopAll(); let bgmState = cc.sys.localStorage.getItem("game_bgm_state"); if (bgmState!= undefined) { this.bgmOpen = bgmState; } else { this.bgmOpen = true; } let soundEffectState = cc.sys.localStorage.getItem("game_sound_effect_state"); if (soundEffectState!= undefined) { this.soundEffectOpen = soundEffectState; } else { this.soundEffectOpen = true; } this.playBgm(); }, /** * 暂停所有音效 */ stopAll () { cc.audioEngine.stopAll(); }, /** * 播放背景音乐 */ playBgm () { cc.audioEngine.stop(this.currentAudio['bgm']); if (!this.bgmOpen) { return } this.currentAudio['bgm'] = cc.audioEngine.play(this.bgm, true, this.volume); }, /** * 停止播放背景音乐 */ pauseBgm () { cc.audioEngine.pause(this.currentAudio['bgm']); }, /** * 暂停播放背景音乐 */ stopBgm () { cc.audioEngine.stop(this.currentAudio['bgm']); }, /** * 播放按钮音效 */ playClickButton () { if (!this.soundEffectOpen) { return } cc.audioEngine.play(this.buttonClickAudio, false, this.volume); }, /** * 播放获得奖励音效 */ playGetAward () { if (!this.soundEffectOpen) { return } cc.audioEngine.play(this.getAwardAudio, false, this.volume); }, /** * 播放升级建筑音效 */ playUpdateBuilding () { if (!this.soundEffectOpen) { return } cc.audioEngine.play(this.updateBuildingAudio, false, this.volume); }, /** * 点击招财猫 */ playClickCat () { if (!this.soundEffectOpen) { return } cc.audioEngine.play(this.clickCatAudio, false, this.volume); }, /** * 抽奖音效 */ playGetDraw () { if (!this.soundEffectOpen) { return } cc.audioEngine.play(this.getDrawAudio, false, this.volume); }, /** * 获取到明星音效 */ playGetStar () { if (!this.soundEffectOpen) { return } cc.audioEngine.play(this.getStarAudio, false, this.volume); }, /** * 停止播放获取明星音效 */ // pauseGetStar () { // this.currentAudio['bgm'] = cc.audioEngine.play(this.bgm, true, this.volume); // cc.audioEngine.pause(this.currentAudio['bgm']); // }, // update (dt) {}, });