diff --git a/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py b/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py index e8017b6..647acfa 100644 --- a/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py +++ b/docker-compose/requirements/djangoserver/file/server/server/DummySocket.py @@ -3,10 +3,10 @@ # ::: :::::::: # # DummySocket.py :+: :+: :+: # # +:+ +:+ +:+ # -# By: tomoron +#+ +:+ +#+ # +# By: edbernar = 3; i--) trailPositions[i] = trailPositions[i - 3]; trailPositions[0] = this.object.position.x; @@ -300,19 +298,35 @@ class Ball for (let i = 0; i < 33; i++) trailSizes[i] = Math.max(0.5 * (1 - i / 33), 0.1); + + const velocityMagnitude = Math.sqrt( + this.srvPos.vel[0] * this.srvPos.vel[0] + + this.srvPos.vel[1] * this.srvPos.vel[1] + ); + + // Normalisation de la vitesse entre 0 (lente) et 1 (rapide) + const speedFactor = Math.min(velocityMagnitude / 10, 1); // Divisé par 10 pour ajuster l'échelle for (let i = 0; i < 33; i++) { const alpha = Math.max(1 - i / 33, 0); - trailColors[i * 4] = 1.0 / Math.max(this.srvPos.vel[0] < 0 ? - this.srvPos.vel[0] : this.srvPos.vel[0], 0.3); - trailColors[i * 4 + 1] = 1.0 / Math.max(this.srvPos.vel[1] < 0 ? - this.srvPos.vel[1] : this.srvPos.vel[1], 0.3); - trailColors[i * 4 + 2] = 1.0 / Math.max((this.srvPos.vel[0] < 0 ? - this.srvPos.vel[0] : this.srvPos.vel[0]) + this.srvPos.vel[1] < 0 ? - this.srvPos.vel[1] : this.srvPos.vel[1], 0.3); + + // Couleur entre blanc et rouge selon la vitesse + const r = 1; // Rouge maximum + const g = 1 - speedFactor; // Moins de vert avec l'augmentation de la vitesse + const b = 1 - speedFactor; // Moins de bleu avec l'augmentation de la vitesse + + // Appliquer la couleur + trailColors[i * 4] = r; + trailColors[i * 4 + 1] = g; + trailColors[i * 4 + 2] = b; trailColors[i * 4 + 3] = alpha; } - + // Marquer les attributs comme nécessitant une mise à jour trailGeometry.attributes.position.needsUpdate = true; trailGeometry.attributes.size.needsUpdate = true; trailGeometry.attributes.customColor.needsUpdate = true; } + dispose() { diff --git a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js index 3b13785..28b418b 100644 --- a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js +++ b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/Player.js @@ -6,7 +6,7 @@ /* By: edbernar { map.animationGoal(this.opponent.object.position.x, this.opponent.object.position.y, this.opponent.object.position.z, this.opponent.playerGoalAnimation, this.opponentGoal); }, 1000); diff --git a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js index e3d945f..c37f0fe 100644 --- a/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js +++ b/docker-compose/requirements/nginx/static/javascript/multiOnlineGame/multiOnlineGamePage.js @@ -6,7 +6,7 @@ /* By: edbernar { document.body.style.animation = 'anim3 0.5s'; document.body.style.opacity = 0; - pageRenderer.changePage("multiOnlineGamePage", false, {player: lastSelected ? lastSelected.id : 0, opponent: content.skin, opponentGoaldId: content.goalId, pfp: content.pfpSelf, pfpOpponent: content.pfpOpponent}); + pageRenderer.changePage("multiOnlineGamePage", false, {player: lastSelected ? lastSelected.id : 0, opponent: content.skin, opponentGoaldId: content.goal, pfp: content.pfpSelf, pfpOpponent: content.pfpOpponent}); }, 1000); }, 500); document.body.removeChild(returnButton);