Sound & collision fix, wall render 2

This commit is contained in:
Thomas
2020-09-09 20:50:15 +02:00
parent cf7652a39e
commit 6ecbbdff42
4 changed files with 47 additions and 12 deletions

View File

@@ -101,9 +101,12 @@ export default {
} }
if (player.state === 'DEAD') this.context.globalAlpha = 0.1 if (player.state === 'DEAD') this.context.globalAlpha = 0.1
render.walls(this.context, this.canvas, this.camera, this.settings, player)
render.wallsBezier(this.context, this.canvas, this.camera, this.settings, player)
if (player.name === 'e' || player.name === 'q' || player.name === 'r' || player.name === 't') render.playerFace(this.context, this.canvas, this.camera, this.settings, player, player.name) if (player.name === 'e' || player.name === 'q' || player.name === 'r' || player.name === 't') render.playerFace(this.context, this.canvas, this.camera, this.settings, player, player.name)
else render.player(this.context, this.canvas, this.camera, this.settings, player) else render.player(this.context, this.canvas, this.camera, this.settings, player)
if (player.state === 'DEAD') this.context.globalAlpha = 1 if (player.state === 'DEAD') this.context.globalAlpha = 1
this.stats.totalWalls += player.walls.length this.stats.totalWalls += player.walls.length

View File

@@ -64,6 +64,40 @@ export const render = {
context.lineTo(canvas.width / 2 + player.x - camera.x, canvas.height / 2 + player.y - camera.y) context.lineTo(canvas.width / 2 + player.x - camera.x, canvas.height / 2 + player.y - camera.y)
context.stroke() context.stroke()
}, },
wallsBezier (context, canvas, camera, settings, player) {
if (player.walls.length === 0) return
context.beginPath()
context.lineWidth = settings.wallSize
context.strokeStyle = player.color
var canvasX1, canvasY1, canvasX2, canvasY2
canvasX1 = canvas.width / 2 + player.walls[0].x - camera.x
canvasY1 = canvas.height / 2 + player.walls[0].y - camera.y
context.moveTo(canvasX1, canvasY1)
for (var i = 1; i < player.walls.length - 1; i++) {
canvasX1 = canvas.width / 2 + player.walls[i].x - camera.x
canvasY1 = canvas.height / 2 + player.walls[i].y - camera.y
canvasX2 = canvas.width / 2 + player.walls[i + 1].x - camera.x
canvasY2 = canvas.height / 2 + player.walls[i + 1].y - camera.y
context.quadraticCurveTo(canvasX1, canvasY1, canvasX2, canvasY2)
}
canvasX1 = canvas.width / 2 + player.walls[player.walls.length - 1].x - camera.x
canvasY1 = canvas.height / 2 + player.walls[player.walls.length - 1].y - camera.y
canvasX2 = canvas.width / 2 + player.x - camera.x
canvasY2 = canvas.height / 2 + player.y - camera.y
context.quadraticCurveTo(canvasX1, canvasY1, canvasX2, canvasY2)
context.stroke()
},
debug (context, camera, mouse, canvas, stats) { debug (context, camera, mouse, canvas, stats) {
const canvasX = canvas.width / 2 const canvasX = canvas.width / 2
const canvasY = canvas.height / 2 const canvasY = canvas.height / 2

View File

@@ -1,29 +1,27 @@
const music1 = new Audio(require('@/assets/sound/revengeOfCats.mp3')) const music1 = new Audio(require('@/assets/sound/revengeOfCats.mp3'))
const music2 = new Audio(require('@/assets/sound/1992.mp3')) const music2 = new Audio(require('@/assets/sound/1992.mp3'))
const music3 = new Audio()
// const motor = new Audio(require('@/assets/sound/motor.mp3')) // const motor = new Audio(require('@/assets/sound/motor.mp3'))
const explosion = new Audio(require('@/assets/sound/explosion.mp3')) const explosion = new Audio(require('@/assets/sound/explosion.mp3'))
const taunt = new Audio(require('@/assets/sound/tmauvais.mp3')) const taunt = new Audio(require('@/assets/sound/tmauvais.mp3'))
taunt.volume = 0.2
explosion.volume = 0.2
music1.loop = true
music1.volume = 0.2
music2.loop = true
music2.volume = 0.2
export const sound = { export const sound = {
startBackgroundMusic (n) { startBackgroundMusic (n) {
music1.loop = true
music1.volume = 0.5
music2.loop = true
music2.volume = 0.5
music3.loop = true
music3.volume = 0.5
switch (n) { switch (n) {
case '1': music1.play(); break case '1': music1.play(); break
case '2': music2.play(); break case '2': music2.play(); break
case '3': music3.play(); break
} }
}, },
stopBackgroundMusic () { stopBackgroundMusic () {
music1.pause() music1.pause()
music2.pause() music2.pause()
music3.pause()
}, },
explosion () { explosion () {
if (Math.floor(Math.random() * Math.floor(10)) === 0) taunt.play() if (Math.floor(Math.random() * Math.floor(10)) === 0) taunt.play()

View File

@@ -94,7 +94,7 @@ public class GameManager implements IGameManager {
for (var i = 0; i < player2.getWalls().size() - 2; i++) { for (var i = 0; i < player2.getWalls().size() - 2; i++) {
// Pour evité la collision avec un mur venant d'être placé par le même joueur // Pour evité la collision avec un mur venant d'être placé par le même joueur
if (id.equals(id2) && i >= player2.getWalls().size() - 2) break; if (id.equals(id2) && i >= player2.getWalls().size() - 1) break;
Wall wallA = player2.getWalls().get(i); Wall wallA = player2.getWalls().get(i);
Wall wallB = player2.getWalls().get(i + 1); Wall wallB = player2.getWalls().get(i + 1);