Commit 0c6a9189 authored by asdf's avatar asdf

播放音频开关改为计数

parent 22f7e4bd
......@@ -26,7 +26,7 @@ cc.Class({
if (GameData.isMoving) {
return;
}
if (GameData.isAudio) {
if (GameData.audioCount != 0) {
return;
}
if (GameData.currOptionIndex == this.index) {
......@@ -108,17 +108,17 @@ cc.Class({
},
playAudioRight() {
GameData.isAudio = true;
GameData.audioCount++;
let id = cc.audioEngine.play(this.audRight, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
GameData.audioCount--;
})
},
playAudioWrong() {
GameData.isAudio = true;
GameData.audioCount++;
let id = cc.audioEngine.play(this.audWrong, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
GameData.audioCount--;
})
},
// update (dt) {},
......
......@@ -141,7 +141,7 @@ cc.Class({
if (this.isGray) {
return;
}
if (GameData.isAudio) {
if (GameData.audioCount != 0) {
return;
}
this.showQipao();
......@@ -159,7 +159,7 @@ cc.Class({
},
playAudioOption(showNext) {
GameData.isAudio = true;
GameData.audioCount++;
let url = this.data.optionAudio;
// url = 'http://127.0.0.1/iamflying.mp3';
cc.assetManager.loadRemote(url, null, (err, clip) => {
......@@ -169,7 +169,10 @@ cc.Class({
}
let id = cc.audioEngine.play(clip, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
if(!cc.isValid(this)){
return;
}
GameData.audioCount--;
if (showNext) {
this.scene.showNext(this.index);
}
......
......@@ -4,7 +4,7 @@ cc.Class({
extends: cc.Component,
properties: {
audOver:cc.AudioClip,
audOver: cc.AudioClip,
},
// LIFE-CYCLE CALLBACKS:
......@@ -33,11 +33,11 @@ cc.Class({
},
playAudioOver() {
GameData.isAudio = true;
let id = cc.audioEngine.play(this.audOver, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
})
GameData.audioCount++;
let id = cc.audioEngine.play(this.audOver, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.audioCount--;
})
},
// update (dt) {},
});
......@@ -37,6 +37,7 @@ cc.Class({
initSceneData() {
this._resList = [];
window.GameData = {};
GameData.audioCount = 0;
},
_designSize: null, // 设计分辨率
......@@ -186,16 +187,16 @@ cc.Class({
playAudioEntrer() {
GameData.isAudio = true;
GameData.audioCount++;
let id = cc.audioEngine.play(this.audEnter, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
GameData.audioCount--;
this.playAudioQuestion();
})
},
playAudioQuestion(isBtn) {
GameData.isAudio = true;
GameData.audioCount++;
let url = this.data.questionList[GameData.questionIndex].questionAudio;
// url = 'http://127.0.0.1/iamflying.mp3';
cc.assetManager.loadRemote(url, null, (err, clip) => {
......@@ -206,7 +207,7 @@ cc.Class({
}
let id = cc.audioEngine.play(clip, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
GameData.audioCount--;
if (!isBtn) {
this.showRandomQuestion();
}
......@@ -214,17 +215,17 @@ cc.Class({
});
},
playAudioMove() {
GameData.isAudio = true;
GameData.audioCount++;
let id = cc.audioEngine.play(this.audMove, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
GameData.audioCount--;
})
},
playAudioMerge() {
GameData.isAudio = true;
GameData.audioCount++;
let id = cc.audioEngine.play(this.audMerge, false, 1);
cc.audioEngine.setFinishCallback(id, () => {
GameData.isAudio = false;
GameData.audioCount--;
})
},
......@@ -305,7 +306,10 @@ cc.Class({
},
onTurnLast() {
if (GameData.isAudio) {
if (GameData.isMoving) {
return;
}
if (GameData.audioCount != 0) {
return;
}
GameData.questionIndex--;
......@@ -315,7 +319,10 @@ cc.Class({
this.playAudioQuestion();
},
onReplay() {
if (GameData.isAudio) {
if (GameData.isMoving) {
return;
}
if (GameData.audioCount != 0) {
return;
}
this.nodeDict.nodAnswerParent.destroyAllChildren();
......@@ -324,7 +331,10 @@ cc.Class({
this.startGame();
},
onTurnNext() {
if (GameData.isAudio) {
if (GameData.isMoving) {
return;
}
if (GameData.audioCount != 0) {
return;
}
GameData.questionIndex++;
......@@ -336,9 +346,10 @@ cc.Class({
buttonListener(button) {
if (button.node.name == 'btnTitle') {
if (!GameData.isAudio) {
this.playAudioQuestion(true);
if (GameData.audioCount != 0) {
return;
}
this.playAudioQuestion(true);
} else if (button.node.name == 'btnLast') {
this.onTurnLast();
} else if (button.node.name == 'btnReplay') {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment