From ef6d9a5ab3c966e68443331211e87fe3c74fe178 Mon Sep 17 00:00:00 2001 From: Lauro Gripa Date: Tue, 6 Feb 2024 00:42:03 -0300 Subject: [PATCH] Speed up game every frame --- src/components/Obstacles.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/Obstacles.js b/src/components/Obstacles.js index d6c4506..5be8c4a 100644 --- a/src/components/Obstacles.js +++ b/src/components/Obstacles.js @@ -56,6 +56,7 @@ const Obstacles = React.forwardRef(({ mode, videos, setScore, hitPoints, setHitP const [obstacles, setObstacles] = useState([]) const [lastBonusToastId, setLastBonusToastId] = useState(null) const [lastDamageToastId, setLastDamageToastId] = useState(null) + const [gameSpeed, setGameSpeed] = useState(0.1) const visibleObstacles = 5 const clockRef = useRef({ elapsedTime: 0, delta: 0 }) @@ -100,7 +101,7 @@ const Obstacles = React.forwardRef(({ mode, videos, setScore, hitPoints, setHitP // Near bonus box const bonusScaleFator = 1.35 - const bonusZScaleFator = 1.75 + const bonusZScaleFator = 1.75 / (gameSpeed * 10) const bonusCenter = new THREE.Vector3() const bonusSize = new THREE.Vector3() bonusBox.getCenter(bonusCenter) @@ -187,7 +188,7 @@ const Obstacles = React.forwardRef(({ mode, videos, setScore, hitPoints, setHitP if (canaryRef && canaryRef.current) { // Move obstacles and clean up old ones - if (clockRef.current.delta >= 0.1) { + if (clockRef.current.delta >= gameSpeed) { clockRef.current.elapsedTime = clock.getElapsedTime() setObstacles( prevObstacles => @@ -217,6 +218,9 @@ const Obstacles = React.forwardRef(({ mode, videos, setScore, hitPoints, setHitP setObstacles(prevObstacles => [...prevObstacles, newObstacle]) } + + // Increase game speed + setGameSpeed(gameSpeed => gameSpeed * 0.9992) } })