Vérification de l'état du jeu dans le renderer
This commit is contained in:
parent
69d63d7b4a
commit
b9116b3c75
|
@ -5,6 +5,7 @@ from pygame.locals import RESIZABLE
|
||||||
|
|
||||||
import src.engine as engine
|
import src.engine as engine
|
||||||
from src.animation import Anim
|
from src.animation import Anim
|
||||||
|
from src.enums import GameState
|
||||||
|
|
||||||
|
|
||||||
class Renderer:
|
class Renderer:
|
||||||
|
@ -33,24 +34,27 @@ class Renderer:
|
||||||
"""Fait le rendu du jeu."""
|
"""Fait le rendu du jeu."""
|
||||||
self.window.fill((255, 255, 255))
|
self.window.fill((255, 255, 255))
|
||||||
|
|
||||||
# On crée une surface temporaire qui nous permettra de faire le rendu à l'échelle 1:1
|
if self.engine.game_state == GameState.NORMAL:
|
||||||
rendered_surface_size = (display.get_window_size()[0] / self.engine.camera.zoom,
|
# On crée une surface temporaire qui nous permettra de faire le rendu à l'échelle 1:1
|
||||||
display.get_window_size()[1] / self.engine.camera.zoom)
|
rendered_surface_size = (display.get_window_size()[0] / self.engine.camera.zoom,
|
||||||
rendered_surface = surface.Surface(rendered_surface_size)
|
display.get_window_size()[1] / self.engine.camera.zoom)
|
||||||
|
rendered_surface = surface.Surface(rendered_surface_size)
|
||||||
|
|
||||||
self.renderer_layer(0, rendered_surface)
|
self.renderer_layer(0, rendered_surface)
|
||||||
self.render_entities(rendered_surface)
|
self.render_entities(rendered_surface)
|
||||||
self.renderer_layer(1, rendered_surface)
|
self.renderer_layer(1, rendered_surface)
|
||||||
self.renderer_layer(2, rendered_surface)
|
self.renderer_layer(2, rendered_surface)
|
||||||
|
|
||||||
# Enfin, on redimensionne notre surface et on la colle sur la fenêtre principale
|
# Enfin, on redimensionne notre surface et on la colle sur la fenêtre principale
|
||||||
self.window.blit(
|
self.window.blit(
|
||||||
transform.scale(rendered_surface, (math.ceil(rendered_surface_size[0] * self.engine.camera.zoom),
|
transform.scale(rendered_surface, (math.ceil(rendered_surface_size[0] * self.engine.camera.zoom),
|
||||||
math.ceil(rendered_surface_size[1] * self.engine.camera.zoom))),
|
math.ceil(rendered_surface_size[1] * self.engine.camera.zoom))),
|
||||||
(0, 0))
|
(0, 0))
|
||||||
|
|
||||||
# Apres avoir tout rendu, on met à jour l'écran
|
# Apres avoir tout rendu, on met à jour l'écran
|
||||||
display.update()
|
display.update()
|
||||||
|
elif self.engine.game_state == GameState.BOSS_FIGHT:
|
||||||
|
self.window.fill((255, 0, 0))
|
||||||
|
|
||||||
def register_animation(self, animation: Anim, name: str):
|
def register_animation(self, animation: Anim, name: str):
|
||||||
"""Enregistre une animation."""
|
"""Enregistre une animation."""
|
||||||
|
|
Loading…
Reference in a new issue