delta_time #34
|
@ -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
|
||||
|
||||
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
|
||||
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."""
|
||||
|
|
|
@ -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)}",
|
||||
|
|
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