From 4563a45142bcba1fccbbbe1b5639938533edd57b Mon Sep 17 00:00:00 2001 From: ALGLAVE Ivan <ivan.alglave8@etu.univ-lorraine.fr> Date: Mon, 28 Dec 2020 19:55:19 +0100 Subject: [PATCH] Fixed sound duplication on player - ball collision --- .../com/mygdx/game/GameScreens/GamePlay.java | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/core/src/com/mygdx/game/GameScreens/GamePlay.java b/core/src/com/mygdx/game/GameScreens/GamePlay.java index 45cf9b5..5c02b22 100644 --- a/core/src/com/mygdx/game/GameScreens/GamePlay.java +++ b/core/src/com/mygdx/game/GameScreens/GamePlay.java @@ -211,8 +211,17 @@ public class GamePlay extends GameScreen } } else { - if(pleft.getContactStatus().equals("1")) pleft.setContactStatus(2); - if(pright.getContactStatus().equals("1")) pright.setContactStatus(2); + if(pleft.getContactStatus().equals("1")) + { + pleft.setContactStatus(2); + String s = pleft.getContactStatus(); + } + if(pright.getContactStatus().equals("1")) + { + pright.setContactStatus(2); + String s = pright.getContactStatus(); + int a = 1; + } for(Contact contact : world.getContactList()) { Object dataA = contact.getFixtureA().getUserData(); @@ -240,12 +249,16 @@ public class GamePlay extends GameScreen } if((objA.equals("player") || objA.equals("ball")) && (objB.equals("player") || objB.equals("ball")) && (!objA.equals(objB))) { - boolean playSound = false; if(objA.equals("player")) { if(strDataA[1].equals("0")) { - playSound = true; + shoot_sound.play(); + strDataA[1] = "1"; + contact.getFixtureA().setUserData(strDataA); + } + else if(strDataA[1].equals("2")) + { strDataA[1] = "1"; contact.getFixtureA().setUserData(strDataA); } @@ -254,20 +267,27 @@ public class GamePlay extends GameScreen { if(strDataB[1].equals("0")) { - playSound = true; + shoot_sound.play(); + strDataB[1] = "1"; + contact.getFixtureB().setUserData(strDataB); + } + else if (strDataB[1].equals("2")) + { strDataB[1] = "1"; contact.getFixtureB().setUserData(strDataB); } - } - if(playSound) - { - shoot_sound.play(); } } } } - if(pleft.getContactStatus().equals("2")) pleft.setContactStatus(0); - if(pright.getContactStatus().equals("2")) pright.setContactStatus(0); + if(pleft.getContactStatus().equals("2")) + { + pleft.setContactStatus(0); + } + if(pright.getContactStatus().equals("2")) + { + pright.setContactStatus(0); + } if(isAI) pleft.interact(ball.getPos()); else pleft.interact(pressed(Input.Keys.Q), pressed(Input.Keys.D), pressed(Input.Keys.Z), pressed(Input.Keys.S)); pright.interact(pressed(Input.Keys.J), pressed(Input.Keys.L), pressed(Input.Keys.I), pressed(Input.Keys.K)); -- GitLab