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 :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */
|
||||
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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
|
||||
définis sur la hauteur. (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)
|
||||
*/
|
||||
|
||||
@ -136,7 +136,7 @@ class Player
|
||||
document.getElementsByTagName('canvas')[0].style.filter = 'brightness(1)';
|
||||
}, 300)
|
||||
setTimeout(() => {
|
||||
tmpCamera.position.set(3, 3, 3);
|
||||
tmpCamera.position.set(-3, 3, -3);
|
||||
this.isOnPointAnim = true;
|
||||
this.camera = tmpCamera;
|
||||
interval = setInterval(() => {
|
||||
@ -150,21 +150,28 @@ class Player
|
||||
}, 10);
|
||||
setTimeout(() => {
|
||||
clearInterval(interval);
|
||||
this.camera = tmp;
|
||||
this.object.material.color.copy(startColor);
|
||||
this.isOnPointAnim = false;
|
||||
if (!this.cameraFixed)
|
||||
{
|
||||
this.setCameraPosition(
|
||||
this.object.position.x,
|
||||
this.object.position.y - (this.object.position.y >= limits.up ? 0.7 : -0.7),
|
||||
this.object.position.z + 1
|
||||
);
|
||||
}
|
||||
document.getElementsByTagName('canvas')[0].style.animation = 'fadeIn 0.199s';
|
||||
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.object.material.color.copy(startColor);
|
||||
this.isOnPointAnim = false;
|
||||
if (!this.cameraFixed)
|
||||
{
|
||||
this.setCameraPosition(
|
||||
this.object.position.x,
|
||||
this.object.position.y - (this.object.position.y >= limits.up ? 0.7 : -0.7),
|
||||
this.object.position.z + 1
|
||||
);
|
||||
}
|
||||
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);
|
||||
}, 200)
|
||||
}
|
||||
|
@ -3,10 +3,10 @@
|
||||
/* ::: :::::::: */
|
||||
/* main.js :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: hubourge <hubourge@student.42.fr> +#+ +:+ +#+ */
|
||||
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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 */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
21
site/real_game/node_modules/.vite/deps/_metadata.json
generated
vendored
21
site/real_game/node_modules/.vite/deps/_metadata.json
generated
vendored
@ -1,18 +1,27 @@
|
||||
{
|
||||
"hash": "fba7eca6",
|
||||
"configHash": "345fb419",
|
||||
"hash": "b5ed7c4e",
|
||||
"configHash": "4027b9ee",
|
||||
"lockfileHash": "cd36b699",
|
||||
<<<<<<< HEAD
|
||||
"browserHash": "f591caa1",
|
||||
=======
|
||||
"browserHash": "940c5170",
|
||||
>>>>>>> c2c7418 (Game)
|
||||
"optimized": {
|
||||
"three": {
|
||||
"src": "../../three/build/three.module.js",
|
||||
"file": "three.js",
|
||||
<<<<<<< HEAD
|
||||
"fileHash": "c6ea5bd8",
|
||||
=======
|
||||
"fileHash": "f318808c",
|
||||
>>>>>>> c2c7418 (Game)
|
||||
"needsInterop": false
|
||||
},
|
||||
"three/examples/jsm/Addons.js": {
|
||||
"src": "../../three/examples/jsm/Addons.js",
|
||||
"file": "three_examples_jsm_Addons__js.js",
|
||||
<<<<<<< HEAD
|
||||
"fileHash": "1caa94cb",
|
||||
"needsInterop": false
|
||||
},
|
||||
@ -26,10 +35,14 @@
|
||||
"src": "../../three/examples/jsm/libs/tween.module.js",
|
||||
"file": "three_examples_jsm_libs_tween__module__js.js",
|
||||
"fileHash": "c5283fd4",
|
||||
=======
|
||||
"fileHash": "3bfc3dad",
|
||||
>>>>>>> c2c7418 (Game)
|
||||
"needsInterop": false
|
||||
}
|
||||
},
|
||||
"chunks": {
|
||||
<<<<<<< HEAD
|
||||
"chunk-X4PC2K6Q": {
|
||||
"file": "chunk-X4PC2K6Q.js"
|
||||
},
|
||||
@ -38,6 +51,10 @@
|
||||
},
|
||||
"chunk-PZ5AY32C": {
|
||||
"file": "chunk-PZ5AY32C.js"
|
||||
=======
|
||||
"chunk-33KXLYU5": {
|
||||
"file": "chunk-33KXLYU5.js"
|
||||
>>>>>>> c2c7418 (Game)
|
||||
}
|
||||
}
|
||||
}
|
879
site/real_game/node_modules/.vite/deps/three_examples_jsm_Addons__js.js
generated
vendored
879
site/real_game/node_modules/.vite/deps/three_examples_jsm_Addons__js.js
generated
vendored
File diff suppressed because it is too large
Load Diff
7
site/real_game/node_modules/.vite/deps/three_examples_jsm_Addons__js.js.map
generated
vendored
7
site/real_game/node_modules/.vite/deps/three_examples_jsm_Addons__js.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@ -1,7 +0,0 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
Reference in New Issue
Block a user