delta_time #34

Merged
yannis merged 6 commits from delta_time into main 2024-01-13 20:05:56 +00:00
3 changed files with 18 additions and 12 deletions
Showing only changes of commit e3ea7cbed1 - Show all commits

View file

@ -1,3 +1,5 @@
import time
from src.engine.boss_fight_manager import BossFightManager
from src.engine.camera import Camera
from src.engine.dialogs_manager import DialogsManager
@ -24,8 +26,6 @@ class Engine:
# Etat courant du jeu
self.game_state = GameState.NORMAL
self.clock = pygame.time.Clock()
self.running = False
# Composants du moteur de jeu
@ -44,20 +44,26 @@ class Engine:
"""Fonction à lancer au début du programme et qui va lancer les updates dans une boucle.
Attend jusqu'à la fin du jeu."""
self.running = True
while self.running:
self.update()
self.clock.tick(60.)
def update(self):
delta = 1. # Le delta est le temps depuis la dernière image
last_time = time.time_ns()/10E8
Review

Pk / 10e8 ?

Pk / 10e8 ?
Review

car c'est plus court et stylée que "/ 100000000"

car c'est plus court et stylée que "/ 100000000"
Review

Nan, pk dans le calcul il est en nano secondes

Nan, pk dans le calcul il est en nano secondes
Review

car il est plus précis que en secondes

car il est plus précis que en secondes
while self.running:
self.update(delta)
new_time = time.time_ns()/10E8
Review

De même

De même
Review

bah pareil

bah pareil
delta = new_time-last_time
last_time = new_time
def update(self, delta: float):
"""Fonction qui regroupe toutes les updates des composants. Elle permet de mettre à jour le jeu quand on
l'appelle."""
self.camera.update()
self.entity_manager.update(0.016666666)
self.renderer.update(0.016666666)
self.entity_manager.update(delta)
self.renderer.update(delta)
self.event_handler.update()
self.event_sheduler.update()
self.dialogs_manager.update(0.016666666)
self.sound_manager.update(1/60)
self.dialogs_manager.update(delta)
self.sound_manager.update(delta)
def stop(self):
"""Arrête le programme."""

View file

@ -69,4 +69,4 @@ class EntityManager:
e.unlock()
self.paused = False
self.locked_before_pause = []
self.locked_before_pause = []

View file

@ -172,7 +172,7 @@ class Renderer:
# Conteur de FPS en mode DEBUG
if self.engine.DEBUG_MODE:
self.window.blit(font.SysFont("Arial", 20).render(f"FPS: {round(self.engine.clock.get_fps())}, Game Status: {'Paused' if self.engine.entity_manager.paused else 'Playing'}", True, (255, 0, 0)),
self.window.blit(font.SysFont("Arial", 20).render(f"FPS: {round(1/delta if delta else 1)}, Game Status: {'Paused' if self.engine.entity_manager.paused else 'Playing'}", True, (255, 0, 0)),
(0, 0))
player = self.engine.entity_manager.get_by_name('player')
self.window.blit(font.SysFont("Arial", 20).render(f"X: {round(player.x, 2)} Y:{round(player.y, 2)}",