delta_time #34
|
@ -1,3 +1,5 @@
|
||||||
|
import time
|
||||||
|
|
||||||
from src.engine.boss_fight_manager import BossFightManager
|
from src.engine.boss_fight_manager import BossFightManager
|
||||||
from src.engine.camera import Camera
|
from src.engine.camera import Camera
|
||||||
from src.engine.dialogs_manager import DialogsManager
|
from src.engine.dialogs_manager import DialogsManager
|
||||||
|
@ -24,8 +26,6 @@ class Engine:
|
||||||
# Etat courant du jeu
|
# Etat courant du jeu
|
||||||
self.game_state = GameState.NORMAL
|
self.game_state = GameState.NORMAL
|
||||||
|
|
||||||
self.clock = pygame.time.Clock()
|
|
||||||
|
|
||||||
self.running = False
|
self.running = False
|
||||||
|
|
||||||
# Composants du moteur de jeu
|
# 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.
|
"""Fonction à lancer au début du programme et qui va lancer les updates dans une boucle.
|
||||||
Attend jusqu'à la fin du jeu."""
|
Attend jusqu'à la fin du jeu."""
|
||||||
self.running = True
|
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
|
||||||
|
|||||||
|
while self.running:
|
||||||
|
self.update(delta)
|
||||||
|
|
||||||
|
new_time = time.time_ns()/10E8
|
||||||
adastram
commented
De même De même
yannis
commented
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
|
"""Fonction qui regroupe toutes les updates des composants. Elle permet de mettre à jour le jeu quand on
|
||||||
l'appelle."""
|
l'appelle."""
|
||||||
self.camera.update()
|
self.camera.update()
|
||||||
self.entity_manager.update(0.016666666)
|
self.entity_manager.update(delta)
|
||||||
self.renderer.update(0.016666666)
|
self.renderer.update(delta)
|
||||||
self.event_handler.update()
|
self.event_handler.update()
|
||||||
self.event_sheduler.update()
|
self.event_sheduler.update()
|
||||||
self.dialogs_manager.update(0.016666666)
|
self.dialogs_manager.update(delta)
|
||||||
self.sound_manager.update(1/60)
|
self.sound_manager.update(delta)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
"""Arrête le programme."""
|
"""Arrête le programme."""
|
||||||
|
|
|
@ -172,7 +172,7 @@ class Renderer:
|
||||||
|
|
||||||
# Conteur de FPS en mode DEBUG
|
# Conteur de FPS en mode DEBUG
|
||||||
if self.engine.DEBUG_MODE:
|
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))
|
(0, 0))
|
||||||
player = self.engine.entity_manager.get_by_name('player')
|
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)}",
|
self.window.blit(font.SysFont("Arial", 20).render(f"X: {round(player.x, 2)} Y:{round(player.y, 2)}",
|
||||||
|
|
Loading…
Reference in a new issue
Pk / 10e8 ?
car c'est plus court et stylée que "/ 100000000"
Nan, pk dans le calcul il est en nano secondes
car il est plus précis que en secondes