Modifica il renderer SDL per utilizzare la modalità accelerata e semplifica il caricamento delle immagini
This commit is contained in:
+4
-16
@@ -15,7 +15,7 @@ class GameWindow:
|
||||
sdl2.ext.init()
|
||||
self.window = sdl2.ext.Window(title=title, size=(self.width, self.height))
|
||||
self.window.show()
|
||||
self.renderer = sdl2.ext.Renderer(self.window, flags=sdl2.SDL_RENDERER_PRESENTVSYNC)
|
||||
self.renderer = sdl2.ext.Renderer(self.window, flags=sdl2.SDL_RENDERER_ACCELERATED)
|
||||
self.factory = sdl2.ext.SpriteFactory(renderer=self.renderer)
|
||||
self.fonts = self.generate_fonts("assets/AmaticSC-Regular.ttf")
|
||||
self.running = True
|
||||
@@ -28,21 +28,9 @@ class GameWindow:
|
||||
|
||||
def load_image(self, path, transparent_color=None):
|
||||
image_path = os.path.join(os.path.dirname(__file__), "..", "assets", path)
|
||||
image = Image.open(image_path)
|
||||
if transparent_color:
|
||||
image = image.convert("RGBA")
|
||||
datas = image.getdata()
|
||||
new_data = []
|
||||
for item in datas:
|
||||
if item[:3] == transparent_color:
|
||||
new_data.append((255, 255, 255, 0))
|
||||
else:
|
||||
new_data.append(item)
|
||||
image.putdata(new_data)
|
||||
image = sdl2.ext.load_image(image_path)
|
||||
# Ridimensiona l'immagine in base a cell_size
|
||||
scale = self.cell_size // 20
|
||||
image = image.resize((image.width * scale, image.height * scale), Image.NEAREST)
|
||||
return self.factory.from_surface(sdl2.ext.pillow_to_surface(image))
|
||||
return self.factory.from_surface(image)
|
||||
|
||||
def draw_text(self, text, font, position, color):
|
||||
sprite = self.factory.from_text(text, color=color, fontmanager=font)
|
||||
@@ -84,4 +72,4 @@ class GameWindow:
|
||||
self.running = False
|
||||
# Disegna qui gli sprite
|
||||
self.renderer.present()
|
||||
#time.sleep(self.delay / 1000)
|
||||
time.sleep(self.delay / 1000)
|
||||
|
||||
Reference in New Issue
Block a user