diff --git a/site/real_game/class/Ball.js b/site/real_game/class/Ball.js index f04b955..b5c1222 100644 --- a/site/real_game/class/Ball.js +++ b/site/real_game/class/Ball.js @@ -3,22 +3,14 @@ /* ::: :::::::: */ /* Ball.js :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: hubourge +#+ +:+ +#+ */ +/* By: edbernar +#+ +:+ +#+ */ +/* By: edbernar +#+ +:+ +#+ */ +/* By: edbernar +#+ +:+ +#+ */ +/* By: edbernar +#+ +:+ +#+ */ +/* By: edbernar +#+ +:+ +#+ */ +/* By: edbernar { + if (e.key == 'g') + player.pointAnimation(map); + if (e.key == 'h') + player.pointOpponentAnimation(map, opponent.object); + if (e.key == 'c') + debug = !debug; + }) + + renderer.setAnimationLoop(loop) + } + + static dispose() + { + scene = null; + debug = false; + } +} + + function createBarPlayer(color) { const geometry = new THREE.BoxGeometry(1, 0.1, 0.1); @@ -55,15 +129,17 @@ function createBarPlayer(color) return (mesh); } -let previousTime = Date.now(); function loop() { stats.begin(); // ===== FPS locker ===== // - const currentTime = Date.now(); - if (currentTime - previousTime < 1000 / 60) - return ; - previousTime = currentTime; + if (fpsLocker.status) + { + const currentTime = Date.now(); + if (currentTime - previousTime < 1000 / 60) + return ; + previousTime = currentTime; + } // ====================== // player.update(); @@ -79,46 +155,4 @@ function loop() stats.end(); } -const scene = new THREE.Scene(); -const map = new Map(scene, 13, true); -const bar1 = createBarPlayer(0xed56ea); -const renderer = new THREE.WebGLRenderer({antialias: true}); -renderer.shadowMap.enabled = true; -renderer.shadowMap.type = THREE.PCFSoftShadowMap; -const player = new Player(bar1, map); -const spotLight = new THREE.SpotLight(0xffffff, 10000, 0, 0.2); -spotLight.castShadow = true; -const ambiantLight = new THREE.AmbientLight(0xffffff, 0.5); -const ball = new Ball(scene, map); -const bar2 = createBarPlayer(0xf3e11e); -const opponent = new Opponent(bar2, map); - - -scene.add(player.object); -scene.add(opponent.object); -scene.add(ambiantLight); -spotLight.position.set(0, 100, 0); -scene.add(spotLight); -scene.background = new THREE.Color(0x1a1a1a); -renderer.setSize(window.innerWidth, window.innerHeight); -document.body.appendChild(renderer.domElement); -ball.initMoveBallTmp(); -map.ballObject = ball.object; - -/*---------------DEBUG----------------*/ -const cameraTmp = new THREE.PerspectiveCamera(90, window.innerWidth / window.innerHeight); -const controls = new OrbitControls(cameraTmp, renderer.domElement); -cameraTmp.position.set(5, 3, 5); -controls.target = new THREE.Vector3(map.centerPos.x, 0, map.centerPos.z); -/*------------------------------------*/ - -document.addEventListener('keypress', (e) => { - if (e.key == 'g') - player.pointAnimation(map); - if (e.key == 'h') - player.pointOpponentAnimation(map, opponent.object); - if (e.key == 'c') - debug = !debug; -}) - -renderer.setAnimationLoop(loop) +Game.create(); \ No newline at end of file diff --git a/site/real_game/textures/.DS_Store b/site/real_game/textures/.DS_Store new file mode 100644 index 0000000..1255e26 Binary files /dev/null and b/site/real_game/textures/.DS_Store differ