Background image

main
Skyball2000 2023-03-29 14:01:55 +02:00
parent e4993f39af
commit 2bc88f34f4
2 changed files with 15 additions and 12 deletions

View File

@ -61,6 +61,7 @@ class LoadedLevel:
name = tile['name'] name = tile['name']
element = None element = None
layer = DrawLayers.OBJECTS
if name in TILES: if name in TILES:
element = TILES[name](tile, self) element = TILES[name](tile, self)
@ -68,7 +69,9 @@ class LoadedLevel:
elif name == 'C': elif name == 'C':
ghost_character = PlayerSprite(self.spritesheet_manager.get_sheet("ghost_character")) ghost_character = PlayerSprite(self.spritesheet_manager.get_sheet("ghost_character"))
ghost_character.position_scale = PositionScale((position[0], position[1]), (1, 1)) ghost_character.position_scale = PositionScale((position[0], position[1]), (1, 1))
self.sprite_manager.add_ui_element(DrawLayers.OBJECTS, ghost_character) layer = DrawLayers.PLAYER
self.blocks.append(ghost_character)
self.sprite_manager.add_ui_element(layer, ghost_character)
elif not name == '': elif not name == '':
print(f"Unknown tile at {position}: {name}") print(f"Unknown tile at {position}: {name}")
@ -76,7 +79,7 @@ class LoadedLevel:
if element: if element:
self.blocks.append(element) self.blocks.append(element)
self.sprite_manager.add_ui_element(DrawLayers.OBJECTS, element) self.sprite_manager.add_ui_element(layer, element)
element.load(self.sprite_manager, self.spritesheet_manager, level) element.load(self.sprite_manager, self.spritesheet_manager, level)
self.elements_by_id[element.id] = element self.elements_by_id[element.id] = element

View File

@ -4,7 +4,6 @@ import pygame
from level.Level import Level from level.Level import Level
from level.LevelManager import LevelManager from level.LevelManager import LevelManager
from level.elements.LoadedLevel import LoadedLevel
from level.selection.LevelScreenManager import LevelScreenManager from level.selection.LevelScreenManager import LevelScreenManager
from level.selection.LevelSelectionScreenManager import LevelSelectionScreenManager from level.selection.LevelSelectionScreenManager import LevelSelectionScreenManager
from level.selection.MainMenuScreenManager import MainMenuScreenManager from level.selection.MainMenuScreenManager import MainMenuScreenManager
@ -17,18 +16,17 @@ from sprite.SpritesheetManager import SpritesheetManager
from ui_elements.ClickEvent import ClickEvent from ui_elements.ClickEvent import ClickEvent
from ui_elements.KeyManager import KeyManager from ui_elements.KeyManager import KeyManager
what_to_run = 'level'
DEPRECATED_WIDTH = 12 * 71 * 1.5 DEPRECATED_WIDTH = 12 * 71 * 1.5
DEPRECATED_HEIGHT = 12 * 40 * 1.5 DEPRECATED_HEIGHT = 12 * 40 * 1.5
# Background to test for level design BACKGROUND_IMAGES = {
test_background_castle = pygame.transform.scale(pygame.image.load('data/sprites/castle_bg.png'), 'tutorial': pygame.transform.scale(pygame.image.load('data/sprites/tutorial_bg.png'),
(DEPRECATED_WIDTH, DEPRECATED_HEIGHT)) (DEPRECATED_WIDTH, DEPRECATED_HEIGHT)),
'castle': pygame.transform.scale(pygame.image.load('data/sprites/castle_bg.png'),
(DEPRECATED_WIDTH, DEPRECATED_HEIGHT)),
# test_background_castle = pygame.transform.scale(pygame.image.load('data/sprites/cave_bg.png'), (DEPRECATED_WIDTH, DEPRECATED_WIDTH)) 'cave': pygame.transform.scale(pygame.image.load('data/sprites/cave_bg.png'),
# test_background_tutorial = pygame.transform.scale(pygame.image.load('data/sprites/tutorial_bg.png'), (DEPRECATED_WIDTH, DEPRECATED_WIDTH)) (DEPRECATED_WIDTH, DEPRECATED_HEIGHT)),
}
def apply_frame_rate(number: float, frame_rate: float = 30): def apply_frame_rate(number: float, frame_rate: float = 30):
@ -145,6 +143,8 @@ class MainLoop:
self.screen_manager.tick(tick_data) self.screen_manager.tick(tick_data)
self.sprite_manager.tick(tick_data) self.sprite_manager.tick(tick_data)
if self.level is not None:
self.screen.blit(BACKGROUND_IMAGES[self.level.theme], (0, 0))
self.sprite_manager.draw(self.screen, self.screen_transform) self.sprite_manager.draw(self.screen, self.screen_transform)
pygame.display.update() pygame.display.update()