Bläddra i källkod

【更新】游戏内添加音效;

youhaitao 2 år sedan
förälder
incheckning
9b19783e3e

+ 3 - 0
assets/game/b01_u01/b01_u01_g01/src/Game_b01_u01_g01.ts

@@ -302,12 +302,14 @@ export default class Game_b01_u01_g01 extends GameBase {
             ).call(() => {
                 itemQ.active = false;
             }).start();
+            this.playAudioGoodMove();
         };
 
         // 角色声音和动作
         let audio = this.arrAudioRight[dataOne.roleId];
         let timeRole = audio.duration;
         let funcRole = () => {
+            this.playAudioRight();
             let spineRole = role.getChildByName('spineRole');
             let skeRole = spineRole.getComponent(sp.Skeleton);
             skeRole.setSkin(dataOne.roleSkin);
@@ -334,6 +336,7 @@ export default class Game_b01_u01_g01 extends GameBase {
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
         let itemQ = this.arrQues[_data.idQ];
+        this.playAudioErrorYao();
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })
             .to(0.2, { angle: 5 })

+ 6 - 1
assets/game/b01_u01/b01_u01_g02/src/Game_b01_u01_g02.ts

@@ -245,11 +245,11 @@ export default class Game_b01_u01_g02 extends GameBase {
         }
         this.setIsLock(true);
         this.tipCycleHide();
-
         let itemQ = this.arrQues[idQ];
         let selectNum = this.selectItems.length;
         // 第一次选择
         if (selectNum <= 0) {
+            this.playAudioGoodTouch();
             this.selectItems.push(idQ);
             itemQ.getChildByName('icon').active = false;
             itemQ.getChildByName('sign').active = true;
@@ -261,6 +261,7 @@ export default class Game_b01_u01_g02 extends GameBase {
         let idLast = this.selectItems[0];
         this.selectItems = [];
         if (idQ == idLast) {
+            this.playAudioGoodTouch();
             itemQ.getChildByName('icon').active = true;
             itemQ.getChildByName('sign').active = false;
             this.tipCycleShow();
@@ -309,6 +310,7 @@ export default class Game_b01_u01_g02 extends GameBase {
      * 正确反馈
      */
     playAniSuccess(_data: MsgForGame, callBack: Function): void {
+        this.playAudioGoodMove();
         let dataOne = this.dataQues.options[_data.idQ];
         let itemQ = this.arrQues[_data.idQ];
         let nodeFinish = this.nodeGuizi.getChildByName('pFinish');
@@ -332,6 +334,8 @@ export default class Game_b01_u01_g02 extends GameBase {
             nodeFinish.removeComponent(cc.ParticleSystem);
             const particle = nodeFinish.addComponent(cc.ParticleSystem)
             particle.file = this.particle;
+
+            this.playAudioParticle();
         }).start();
 
         // 播放答对动画
@@ -346,6 +350,7 @@ export default class Game_b01_u01_g02 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })

+ 3 - 0
assets/game/b01_u01/b01_u01_g03/src/Game_b01_u01_g03.ts

@@ -305,6 +305,7 @@ export default class Game_b01_u01_g03 extends GameBase {
         let p2 = Tools.getLocalPos(iconTip, iconQues.parent);
         let timeFly = Tools.getMoveTime(p1, p2, 1, 1500);
         let funcFly = () => {
+            this.playAudioGoodMove();
             let opt = {
                 p1: cc.v2(p1.x, p1.y),
                 p2: cc.v2(p2.x, p2.y),
@@ -326,6 +327,7 @@ export default class Game_b01_u01_g03 extends GameBase {
         let timeRole = audio.duration;
         let dataRole = this.dataQues.spineRole;
         let funcRole = () => {
+            this.playAudioParticle();
             let spineRole = this.nodeRole.getChildByName('spine');
             let skeRole = spineRole.getComponent(sp.Skeleton);
             Tools.playAniArray(skeRole, [dataRole.right, dataRole.idle]);
@@ -344,6 +346,7 @@ export default class Game_b01_u01_g03 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let iconQues = this.arrIconQues[_data.idQ];
         cc.tween(iconQues)
             .to(0.2, { angle: -5 })

+ 3 - 0
assets/game/b01_u01/b01_u01_g04/src/Game_b01_u01_g04.ts

@@ -376,6 +376,7 @@ export default class Game_u06_01 extends GameBase {
                         this.nextQuestion();
                     }
                 });
+                this.playAudioParticle();
             }
             else {
                 this.eventRoleIdle(role, quesCur);
@@ -383,6 +384,7 @@ export default class Game_u06_01 extends GameBase {
                 Tools.playEffect(roleAudio[this.dataQues.roleAudioId.error], false, ()=>{
                     this.setIsLock(false);
                 });
+                this.playAudioErrorReset();
             }
         }
         // 去捡东西
@@ -403,6 +405,7 @@ export default class Game_u06_01 extends GameBase {
                     tip.active = false;
                     itemQ.active = false;
                 }).start();
+                this.playAudioGoodMove();
                 Tools.playEffect(roleAudio[this.dataQues.roleAudioId.right_0], false, this.nextQuestion.bind(this));
             }
             // else {

+ 4 - 1
assets/game/b01_u08/b01_u08_g01/src/Game_b01_u08_g01.ts

@@ -319,7 +319,9 @@ export default class Game_b01_u08_g01 extends GameBase {
         let p2 = icon1.position;
         icon1.position = p1;
         let time = Tools.getMoveTime(p1, p2, 1, 1000);
-        cc.tween(icon1).to(time, { position: p2 }).start();
+        cc.tween(icon1).to(time, { position: p2 }).call(()=>{
+            this.playAudioParticle();
+        }).start();
 
         // 播放答对动画
         let spine = this.nodeRole.getChildByName('spine');
@@ -336,6 +338,7 @@ export default class Game_b01_u08_g01 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })

+ 3 - 0
assets/game/b01_u08/b01_u08_g02/src/Game_b01_u08_g02.ts

@@ -288,12 +288,14 @@ export default class Game_b01_u08_g02 extends GameBase {
         };
 
         cc.tween(this.node).call(() => {
+            this.playAudioGoodMove();
             // 垃圾飞向垃圾桶
             funcMove();
             // 播放动画-role
             let skeRole = this.nodeRole.getChildByName('spine').getComponent(sp.Skeleton);
             Tools.playAniArray(skeRole, [this.dataQues.dataRole.right, this.dataQues.dataRole.idle]);
         }).delay(timeMove).call(() => {
+            this.playAudioGoodTouch();
             // 播放动画-垃圾桶
             let aniName = this.dataQues.dataTong[this.dataQues.options[_data.idQ].right];
             let skeTong = this.nodeTong.getChildByName('spine').getComponent(sp.Skeleton);
@@ -311,6 +313,7 @@ export default class Game_b01_u08_g02 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })

+ 8 - 0
assets/game/b01_u08/b01_u08_g03/src/Game_b01_u08_g03.ts

@@ -272,6 +272,7 @@ export default class Game_b01_u08_g03 extends GameBase {
         let p2 = Tools.getLocalPos(this.nodeRole.getChildByName('back'), itemQ.parent);
         let timeMove = Tools.getMoveTime(p1, p2, 1, 2000);
         let funcMove = () => {
+            this.playAudioGoodMove();
             cc.tween(itemQ).to(timeMove, { position: p2 }).call(() => {
                 itemQ.active = false;
             }).start();
@@ -282,6 +283,9 @@ export default class Game_b01_u08_g03 extends GameBase {
             // 垃圾桶状态改变
             Tools.playAnimation(skeTong, this.dataQues.dataTong.end, false);
         }).delay(0.3).call(() => {
+            this.scheduleOnce(()=>{
+                this.playAudioRight();
+            }, 0.5);
             this.nodeTong.active = false;
             // 播放动画-role
             let skeRole = this.nodeRole.getChildByName('spine').getComponent(sp.Skeleton);
@@ -306,6 +310,7 @@ export default class Game_b01_u08_g03 extends GameBase {
         let p2 = Tools.getLocalPos(this.nodeRole.getChildByName('back'), itemQ.parent);
         let timeMove = Tools.getMoveTime(p1, p2, 1, 2000);
         let funcMove = () => {
+            this.playAudioGoodMove();
             cc.tween(itemQ).to(timeMove, { position: p2 }).call(() => {
                 itemQ.active = false;
             }).start();
@@ -318,6 +323,9 @@ export default class Game_b01_u08_g03 extends GameBase {
         }).delay(0.3).call(() => {
             this.nodeTong.active = false;
             // 播放动画-role
+            this.scheduleOnce(()=>{
+                this.playAudioErrorReset();
+            }, 0.5);
             let skeRole = this.nodeRole.getChildByName('spine').getComponent(sp.Skeleton);
             skeRole.setSkin(this.dataQues.dataRole.skin[_data.idQ]);
             Tools.playAnimation(skeRole, this.dataQues.dataRole.spine.error, false, () => {

+ 4 - 0
assets/game/b01_u08/b01_u08_g04/src/Game_b01_u08_g04.ts

@@ -156,6 +156,8 @@ export default class Game_b01_u08_g04 extends GameBase {
         let skeleton = this.nodeRole.getChildByName('spine').getComponent(sp.Skeleton);
         Tools.playAniArray(skeleton, [this.dataQues.dataRole.task, this.dataQues.dataRole.idle]);
         await Tools.playEffect(this.arrAudioTask[0]);
+        this.tipCycleShow();
+        this.countLunch();
         this.nextQuestion();
     }
 
@@ -278,6 +280,7 @@ export default class Game_b01_u08_g04 extends GameBase {
         };
 
         let funcTie = ()=>{
+            this.playAudioRight();
             let skeItemQ = spineQ.getComponent(sp.Skeleton);
             Tools.playAniArray(skeItemQ, [scriptQ.dataSpine.finish, scriptQ.dataSpine.idle], ()=>{
                 itemQ.active = false;
@@ -304,6 +307,7 @@ export default class Game_b01_u08_g04 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })

+ 3 - 0
assets/game/b02_u12/b02_u12_g01/src/Game_b02_u12_g01.ts

@@ -275,6 +275,7 @@ export default class Game_b02_u12_g01 extends GameBase {
      * 正确反馈
      */
     playAniSuccess(_data: MsgForGame, callBack: Function): void {
+        this.playAudioGoodMove();
         let itemQ = this.arrQues[_data.idQ];
         itemQ.active = false;
 
@@ -288,6 +289,7 @@ export default class Game_b02_u12_g01 extends GameBase {
         let time = Tools.getMoveTime(p1, p2, 1, 1000);
         cc.tween(sign).bezierTo(time, cc.v2(p1.x, p1.y), cc.v2(p1.x, p2.y + 100), cc.v2(p2.x, p2.y)).call(() => {
             sign.zIndex = 0;
+            this.playAudioRight();
         }).start();
 
         // 播放答对动画
@@ -322,6 +324,7 @@ export default class Game_b02_u12_g01 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })

+ 3 - 2
assets/game/b02_u12/b02_u12_g02/src/Game_b02_u12_g02.ts

@@ -291,6 +291,7 @@ export default class Game_b02_u12_g02 extends GameBase {
         cc.tween(sign).to(time, { position: p2 }).call(()=>{
             let particle = sign.getChildByName('particle');
             particle.active = true;
+            this.playAudioParticle();
         }).start();
 
         // 播放答对动画
@@ -307,6 +308,7 @@ export default class Game_b02_u12_g02 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })
@@ -395,8 +397,7 @@ export default class Game_b02_u12_g02 extends GameBase {
                     });
                 }).start();
             });
-            // 成功音效
-            Tools.playEffect(this.arrAudioRight[0]);
+            this.playAudioRight();
         }
     }
 

+ 5 - 2
assets/game/b02_u12/b02_u12_g03/src/Game_b02_u12_g03.ts

@@ -365,8 +365,8 @@ export default class Game_b02_u12_g03 extends GameBase {
                     this.nextQuestion();
                 }).start();
             }
-
         };
+        this.playAudioGoodMove();
         funcRight(0);
     }
 
@@ -450,7 +450,9 @@ export default class Game_b02_u12_g03 extends GameBase {
         iconA.width = opt.w1;
         iconA.height = opt.h1;
         let time = Tools.getMoveTime(opt.p1, opt.p2, 1, 1500);
-        cc.tween(iconA).to(time, { position: opt.p2, width: opt.w2, height: opt.h2 }).start();
+        cc.tween(iconA).to(time, { position: opt.p2, width: opt.w2, height: opt.h2 }).call(()=>{
+            this.playAudioRight();
+        }).start();
 
         // 播放答对动画
         let skeHero = this.nodeHero.getChildByName('spine').getComponent(sp.Skeleton);
@@ -465,6 +467,7 @@ export default class Game_b02_u12_g03 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         cc.tween(itemQ)
             .to(0.2, { angle: -5 })

+ 2 - 1
assets/game/b02_u12/b02_u12_g04/src/Game_b02_u12_g04.ts

@@ -314,6 +314,7 @@ export default class Game_b02_u12_g04 extends GameBase {
             tw().bezierTo(timeFly, cc.v2(p1.x, p1.y), cc.v2((p1.x + p2.x) * 0.5, p2.y), cc.v2(p2.x, p2.y)),
             tw().to(timeFly, { scale: 0 }),
         ).call(() => {
+            this.playAudioRight();
             itemQ.active = false;
             // 播放答对动画
             let skeRole = itemA.getChildByName('spine').getComponent(sp.Skeleton);
@@ -379,6 +380,7 @@ export default class Game_b02_u12_g04 extends GameBase {
         let aniError = _data.idA > idA ? dataItemA.worryD : dataItemA.worryX;
         let timeError = skeletonA.findAnimation(aniError).duration;
         let funcError = () => {
+            this.playAudioErrorReset();
             Tools.playAniArray(skeletonA, [aniError, dataItemA.idle]);
         };
 
@@ -391,7 +393,6 @@ export default class Game_b02_u12_g04 extends GameBase {
                 cc.tween(iconQ).to(timeShow, { scale: initAcale }).start();
             }).delay(timeShow)
             .call(() => {
-                console.log('callback');
                 callBack();
             })
             .start();

+ 8 - 1
assets/game/b03_u03/b03_u03_g01/src/Game_b03_u03_g01.ts

@@ -247,6 +247,7 @@ export default class Game_b03_u03_g01 extends GameBase {
             if (idPoint == 0) {
                 other.node.getChildByName('icon').active = true;
                 this.selectItems.push(idLine * 10 + idPoint);
+                this.playAudioGoodTouch();
             }
         }
         else {
@@ -254,6 +255,7 @@ export default class Game_b03_u03_g01 extends GameBase {
             if (Math.floor(id / 10) == idLine && Math.floor(id % 10) + 1 == idPoint) {
                 other.node.getChildByName('icon').active = true;
                 this.selectItems.push(idLine * 10 + idPoint);
+                this.playAudioGoodTouch();
             }
         }
     }
@@ -409,6 +411,7 @@ export default class Game_b03_u03_g01 extends GameBase {
         funcWalk(0);
         // 成功音效
         Tools.playEffect(this.arrAudioRight[0]);
+        this.playAudioRight();
     }
 
     /**
@@ -472,6 +475,7 @@ export default class Game_b03_u03_g01 extends GameBase {
                                     skeHero.clearTracks();
                                     Tools.playAnimation(skeHero, dataHero.idle, true);
                                     this.nodeHero.position = initPos;
+                                    this.playAudioErrorReset();
                                     callBack();
                                 }, 0.5);
                             });
@@ -512,7 +516,9 @@ export default class Game_b03_u03_g01 extends GameBase {
                     let time = Tools.getMoveTime(p1, p2, 1, 400);
                     cc.tween(this.nodeHero).to(time, { position: p2 }).call(() => {
                         this.nodeHero.getChildByName('spine').scaleX *= -1;
-                        Tools.playAnimation(skeHero, dataHero.idle, true, cb);
+                        Tools.playAnimation(skeHero, dataHero.idle, true);
+                        this.playAudioErrorReset();
+                        cb();
                     }).start();
                 }
             };
@@ -522,6 +528,7 @@ export default class Game_b03_u03_g01 extends GameBase {
                 item.getChildByName('icon').active = false;
             });
             cc.tween(this.node).delay(1.0).call(callBack).start();
+            this.playAudioErrorReset();
         }
     }
 

+ 9 - 0
assets/game/b03_u03/b03_u03_g02/src/Game_b03_u03_g02.ts

@@ -240,6 +240,7 @@ export default class Game_b03_u03_g02 extends GameBase {
             let sign = item.getChildByName('sign')
             if (!icon.active) {
                 sign.active = true;
+                this.playAudioGoodTouch();
             }
         };
         
@@ -365,6 +366,7 @@ export default class Game_b03_u03_g02 extends GameBase {
             this.arrPoint[itemId].getChildByName('sign').active = false;
         });
 
+        let isSuccess = false;
         for (let index = 1; index < this.selectItems.length; index++) {
             let last = this.selectItems[index - 1];
             let cur = this.selectItems[index];
@@ -377,9 +379,16 @@ export default class Game_b03_u03_g02 extends GameBase {
             if (this.objAnswer[key]) {
                 continue;
             }
+            isSuccess = true;
             this.objAnswer[key] = true;
             funcLine(pre, next);
         }
+        if (isSuccess) {
+            this.playAudioRight();
+        }
+        else{
+            this.playAudioErrorReset();
+        }
         callBack();
         // 成功音效
         // Tools.playEffect(this.arrAudioRight[0]);

+ 4 - 0
assets/game/b03_u03/b03_u03_g03/src/Game_b03_u03_g03.ts

@@ -283,6 +283,7 @@ export default class Game_b03_u03_g03 extends GameBase {
         this.isTouchBegin = Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2) <= Math.pow(circle.radius, 2);
         if (this.isTouchBegin) {
             this.tipCycleHide();
+            this.playAudioGoodTouch();
         }
     }
 
@@ -337,6 +338,7 @@ export default class Game_b03_u03_g03 extends GameBase {
             Tools.playAniArray(skeHero, [dataHero.error_0, dataHero.idle]);
             // 小鱼后退
             let funcFish = () => {
+                this.playAudioErrorReset();
                 Tools.playAniArray(skeFish, [dataFish.error_0, dataFish.walk], () => {
                     this.tipCycleShow();
                     this.setIsLock(false);
@@ -373,6 +375,7 @@ export default class Game_b03_u03_g03 extends GameBase {
 
             // 鲨鱼攻击
             let funcHit = () => {
+                this.playAudioErrorReset();
                 // 角色说话
                 let skeHero = this.nodeHero.getChildByName('spine').getComponent(sp.Skeleton);
                 Tools.playAniArray(skeHero, [dataHero.error_1, dataHero.idle]);
@@ -422,6 +425,7 @@ export default class Game_b03_u03_g03 extends GameBase {
                     this.countStop();
                     this.playAniWin();
                 });
+                this.playAudioRight();
             };
             funcFinish();
         };

+ 6 - 1
assets/game/b03_u03/b03_u03_g04/src/Game_b03_u03_g04.ts

@@ -270,13 +270,18 @@ export default class Game_b03_u03_g04 extends GameBase {
         Tools.playEffect(clip);
         // 回调
         let timeDelay = Tools.max(timeAni, clip.duration);
-        cc.tween(this.node).delay(timeDelay).call(callBack).start();
+        cc.tween(this.node).call(()=>{
+            this.playAudioRight();
+        }).delay(timeDelay * 0.5).call(()=>{
+            this.playAudioGoodMove();
+        }).delay(timeDelay * 0.5).call(callBack).start();
     }
 
     /**
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemA = this.arrAnswer[_data.idA];
         cc.tween(itemA)
             .to(0.2, { angle: -5 })

+ 2 - 0
assets/game/b04_u05/b04_u05_g01/src/Game_b04_u05_g01.ts

@@ -306,6 +306,7 @@ export default class Game_b04_u05_g01 extends GameBase {
         cc.tween(itemQ).to(timeFly, { position: p2 }).call(() => {
             itemQ.active = false;
             itemA.active = true;
+            this.playAudioRight();
         }).start();
 
         // 成功音效
@@ -318,6 +319,7 @@ export default class Game_b04_u05_g01 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         let timeFly = 1;
         cc.tween(itemQ)

+ 4 - 4
assets/game/b04_u05/b04_u05_g02/res/prefab/b04_u05_g02.prefab

@@ -12039,8 +12039,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        -414.029,
-        -143.815,
+        -394.631,
+        -196.467,
         0,
         0,
         0,
@@ -13859,8 +13859,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        -472.333,
-        -262.169,
+        -605.348,
+        -317.592,
         0,
         0,
         0,

+ 2 - 0
assets/game/b04_u05/b04_u05_g02/src/Game_b04_u05_g02.ts

@@ -336,6 +336,7 @@ export default class Game_b04_u05_g02 extends GameBase {
         cc.tween(itemQ).to(timeFly, { position: p2, scale: 0.7 }).call(() => {
             itemQ.active = false;
             iconA.active = true;
+            this.playAudioRight();
         }).start();
 
         let dataHero = this.dataQues.dataHero;
@@ -352,6 +353,7 @@ export default class Game_b04_u05_g02 extends GameBase {
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         let timeFly = 1;
         cc.tween(itemQ)

+ 3 - 0
assets/game/b04_u05/b04_u05_g03/src/Game_b04_u05_g03.ts

@@ -338,12 +338,15 @@ export default class Game_b04_u05_g03 extends GameBase {
         cc.tween(this.node).delay(timeFly).call(()=>{
             callBack();
         }).start();
+
+        this.playAudioRight();
     }
 
     /**
      * 错误反馈
      */
     playAniWrong(_data: MsgForGame, callBack: Function): void {
+        this.playAudioErrorYao();
         let itemQ = this.arrQues[_data.idQ];
         let sign = itemQ.getChildByName('sign');
         sign.active = true;

+ 4 - 0
assets/game/b04_u05/b04_u05_g04/src/Game_b04_u05_g04.ts

@@ -280,6 +280,8 @@ export default class Game_b04_u05_g04 extends GameBase {
         // Tools.playEffect(clip);
         let timeDelay = 1.0;
         cc.tween(this.node).delay(timeDelay).call(callBack).start();
+
+        this.playAudioRight();
     }
 
     /**
@@ -304,6 +306,8 @@ export default class Game_b04_u05_g04 extends GameBase {
         // Tools.playEffect(clip);
         let timeDelay = 1.0;
         cc.tween(this.node).delay(timeDelay).call(callBack).start();
+
+        this.playAudioErrorYao();
     }
 
     /**

+ 33 - 5
assets/src/common/GameBase.ts

@@ -1,4 +1,6 @@
 import DownCount from "../../res/downCount/src/DownCount";
+import AudioManager from "../audioUitls/AudioManager";
+import Tools from "./Tools";
 
 const { ccclass, property } = cc._decorator;
 @ccclass
@@ -23,7 +25,7 @@ export default class GameBase extends cc.Component {
             let script = downCount.getComponent(DownCount);
             script.downCountInit();
         }
-    }
+    };
 
     /** 倒计时-启动 */
     countLunch(): void {
@@ -32,7 +34,7 @@ export default class GameBase extends cc.Component {
             let script = downCount.getComponent(DownCount);
             script.downCountLunch();
         }
-    }
+    };
 
     /** 倒计时-停止 */
     countStop(): void {
@@ -41,7 +43,7 @@ export default class GameBase extends cc.Component {
             let script = downCount.getComponent(DownCount);
             script.downCountStop();
         }
-    }
+    };
 
     /** 倒计时-错误 */
     countError(): void {
@@ -50,7 +52,7 @@ export default class GameBase extends cc.Component {
             let script = downCount.getComponent(DownCount);
             script.errorAdd();
         }
-    }
+    };
 
     /** 倒计时-错误 */
     getCountStar(): number {
@@ -61,5 +63,31 @@ export default class GameBase extends cc.Component {
             starNum = script.getStarCount();
         }
         return starNum;
-    }
+    };
+
+    playAudioGoodTouch(){
+        AudioManager.getInstance().playEffect('audio/good_touch');
+    };
+
+    playAudioGoodMove(){
+        AudioManager.getInstance().playEffect('audio/good_move');
+    };
+
+    playAudioRight(){
+        let random = Math.floor(Math.random()*2) + 2; 
+        AudioManager.getInstance().playEffect('audio/right_' + random);
+    };
+
+    playAudioErrorYao(){
+        AudioManager.getInstance().playEffect('audio/error_good_0');
+    };
+
+    playAudioErrorReset(){
+        AudioManager.getInstance().playEffect('audio/error_good_1');
+    };
+
+    playAudioParticle(){
+        let random = Math.floor(Math.random()*2)
+        AudioManager.getInstance().playEffect('audio/particle_' + 1);
+    };
 }