Game
- Updating/creating ball ball
This commit is contained in:
45
site/real_game/class/Ball.js
Normal file
45
site/real_game/class/Ball.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* Ball.js :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2024/08/20 17:02:47 by edbernar #+# #+# */
|
||||||
|
/* Updated: 2024/08/20 17:23:41 by edbernar ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
import * as THREE from 'three';
|
||||||
|
|
||||||
|
const centerPos = {
|
||||||
|
x: 0,
|
||||||
|
y: 0.3,
|
||||||
|
z: -0.1
|
||||||
|
}
|
||||||
|
|
||||||
|
class Ball
|
||||||
|
{
|
||||||
|
object = null;
|
||||||
|
|
||||||
|
constructor(scene)
|
||||||
|
{
|
||||||
|
this.object = this.#createBall();
|
||||||
|
|
||||||
|
scene.add(this.object);
|
||||||
|
}
|
||||||
|
|
||||||
|
#createBall()
|
||||||
|
{
|
||||||
|
const geometry = new THREE.SphereGeometry(0.15);
|
||||||
|
const material = new THREE.MeshPhysicalMaterial({ color: 0xff5555 });
|
||||||
|
const mesh = new THREE.Mesh(geometry, material);
|
||||||
|
|
||||||
|
mesh.receiveShadow = true;
|
||||||
|
mesh.castShadow = true;
|
||||||
|
mesh.position.set(centerPos.x, centerPos.y, centerPos.z);
|
||||||
|
return (mesh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export { Ball };
|
@ -3,10 +3,10 @@
|
|||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* Player.js :+: :+: :+: */
|
/* Player.js :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */
|
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/08/18 00:30:31 by edbernar #+# #+# */
|
/* Created: 2024/08/18 00:30:31 by edbernar #+# #+# */
|
||||||
/* Updated: 2024/08/20 16:00:24 by hubourge ### ########.fr */
|
/* Updated: 2024/08/20 17:01:01 by edbernar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ import * as THREE from 'three';
|
|||||||
barre est en haut). Mais peut etre faire ça quand la barre aura des mouvements
|
barre est en haut). Mais peut etre faire ça quand la barre aura des mouvements
|
||||||
définis sur la hauteur. (OK)
|
définis sur la hauteur. (OK)
|
||||||
- Ajouter les mouvements définis sur l'axe y (OK)
|
- Ajouter les mouvements définis sur l'axe y (OK)
|
||||||
- Faire une fonction qui change de camera quand il y a un but avec un fondu en noir
|
- Faire une fonction qui change de camera quand il y a un but avec un fondu en noir (OK)
|
||||||
- Ajouter un zoom sur la camera de la fonction pointAnimation (OK)
|
- Ajouter un zoom sur la camera de la fonction pointAnimation (OK)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ class Player
|
|||||||
document.getElementsByTagName('canvas')[0].style.filter = 'brightness(1)';
|
document.getElementsByTagName('canvas')[0].style.filter = 'brightness(1)';
|
||||||
}, 300)
|
}, 300)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
tmpCamera.position.set(3, 3, 3);
|
tmpCamera.position.set(-3, 3, -3);
|
||||||
this.isOnPointAnim = true;
|
this.isOnPointAnim = true;
|
||||||
this.camera = tmpCamera;
|
this.camera = tmpCamera;
|
||||||
interval = setInterval(() => {
|
interval = setInterval(() => {
|
||||||
@ -150,6 +150,10 @@ class Player
|
|||||||
}, 10);
|
}, 10);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
clearInterval(interval);
|
clearInterval(interval);
|
||||||
|
document.getElementsByTagName('canvas')[0].style.animation = null;
|
||||||
|
document.getElementsByTagName('canvas')[0].style.animation = 'fadeIn 0.19s';
|
||||||
|
document.getElementsByTagName('canvas')[0].style.filter = 'brightness(0)';
|
||||||
|
setTimeout(() => {
|
||||||
this.camera = tmp;
|
this.camera = tmp;
|
||||||
this.object.material.color.copy(startColor);
|
this.object.material.color.copy(startColor);
|
||||||
this.isOnPointAnim = false;
|
this.isOnPointAnim = false;
|
||||||
@ -161,10 +165,13 @@ class Player
|
|||||||
this.object.position.z + 1
|
this.object.position.z + 1
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
document.getElementsByTagName('canvas')[0].style.animation = 'fadeIn 0.199s';
|
|
||||||
setTimeout(() => {
|
|
||||||
document.getElementsByTagName('canvas')[0].style.animation = 'fadeOut 0.199s';
|
document.getElementsByTagName('canvas')[0].style.animation = 'fadeOut 0.199s';
|
||||||
}, 300)
|
document.getElementsByTagName('canvas')[0].style.filter = 'brightness(1)';
|
||||||
|
}, 200);
|
||||||
|
// document.getElementsByTagName('canvas')[0].style.filter = 'brightness(0)';
|
||||||
|
// setTimeout(() => {
|
||||||
|
// document.getElementsByTagName('canvas')[0].style.animation = 'fadeOut 0.199s';
|
||||||
|
// }, 300)
|
||||||
}, 4000);
|
}, 4000);
|
||||||
}, 200)
|
}, 200)
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
/* ::: :::::::: */
|
/* ::: :::::::: */
|
||||||
/* main.js :+: :+: :+: */
|
/* main.js :+: :+: :+: */
|
||||||
/* +:+ +:+ +:+ */
|
/* +:+ +:+ +:+ */
|
||||||
/* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */
|
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/08/18 00:53:53 by edbernar #+# #+# */
|
/* Created: 2024/08/18 00:53:53 by edbernar #+# #+# */
|
||||||
/* Updated: 2024/08/20 17:28:36 by hubourge ### ########.fr */
|
/* Updated: 2024/08/20 17:36:47 by edbernar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user