Browse Source

Correggi la variabile di ambiente RESOLUTION e aggiorna il disegno dello sfondo per considerare gli offset

master
Matteo Benedetto 12 months ago
parent
commit
8b3ad61047
  1. 8
      engine/sdl2.py

8
engine/sdl2.py

@ -14,7 +14,7 @@ class GameWindow:
self.cell_size = cell_size
self.width = width * cell_size
self.height = height * cell_size
actual_screen_size = os.environ.get("RESOLUTION", "640x480").split("x")
actual_screen_size = os.environ.get("RESOLUTIONz", "640x480").split("x")
actual_screen_size = tuple(map(int, actual_screen_size))
self.target_size = actual_screen_size if self.width > actual_screen_size[0] or self.height > actual_screen_size[1] else (self.width, self.height)
self.w_start_offset = (self.target_size[0] - self.width) // 2
@ -89,8 +89,7 @@ class GameWindow:
self.renderer.copy(sprite, dstrect=sprite.position)
def draw_background(self, bg_texture):
self.renderer.copy(bg_texture, dstrect=sdl2.SDL_Rect(0, 0, self.width, self.height))
self.renderer.copy(bg_texture, dstrect=sdl2.SDL_Rect(self.w_offset, self.h_offset, self.width, self.height))
def draw_image(self, x, y, sprite, tag, anchor="nw"):
if not self.is_in_visible_area(x, y):
return
@ -190,7 +189,8 @@ class GameWindow:
# Disegna qui gli sprite
#sdl2.SDL_RenderSetClipRect(self.renderer.sdlrenderer, sdl2.SDL_Rect(self.w_offset, self.h_offset, self.target_size[0], self.target_size[1]))
#rect = sdl2.SDL_Rect(self.w_offset, self.h_offset, self.target_size[0], self.target_size[1])
#sdl2.SDL_RenderSetClipRect(self.renderer.sdlrenderer, rect)
self.renderer.present()
self.performance = (sdl2.SDL_GetPerformanceCounter() - performance_start) / sdl2.SDL_GetPerformanceFrequency() * 1000
if self.performance < self.delay:

Loading…
Cancel
Save