from game.screens.base_screen import BaseScreen from game.enemy import Enemy from game.camera import Camera from game.util import * import pygame as pg import pygame_gui as pgi class GamePlay(BaseScreen): def __init__(self, game): super().__init__(game) # self.tile_multiplicator = 2.0 self.width, self.height = pg.display.get_surface().get_size() self.game_surface = pg.surface.Surface((int(self.width/4*3),int(self.height/6*5))) # self.map_surface = pg.surface.Surface((self.game_surface.get_width()/self.tile_multiplicator,self.game_surface.get_height()/self.tile_multiplicator)) self.camera = Camera() self.movment = [False, False, False, False] self.map = 'test' self.path = 'assets/maps/' + str(self.map) + '.json' self.enemy = Enemy(self.game, 0.5, 100) try: self.game.tilemap.load(self.path) except FileNotFoundError: print('File not Found') def process_event(self, event): if event.type == pg.KEYDOWN: if event.key == pg.K_a: self.movment[0] = True if event.key == pg.K_d: self.movment[1] = True if event.key == pg.K_w: self.movment[2] = True if event.key == pg.K_s: self.movment[3] = True if event.key == pg.K_q: self.camera.change_zoom(-0.25) if event.key == pg.K_e: self.camera.change_zoom(0.25) if event.type == pg.KEYUP: if event.key == pg.K_a: self.movment[0] = False if event.key == pg.K_d: self.movment[1] = False if event.key == pg.K_w: self.movment[2] = False if event.key == pg.K_s: self.movment[3] = False def update(self, dt): self.enemy.update() self.camera.move((self.movment[1] - self.movment[0]) * 2, (self.movment[3] - self.movment[2]) * 2) def draw(self, surface): self.game_surface.fill((40, 40, 40)) # self.map_surface.fill((40, 40, 40)) self.game.tilemap.render_game(self.game_surface, self.camera) self.enemy.render(self.game_surface, self.camera) # self.game_surface.blit(pg.transform.scale(self.map_surface, self.game_surface.get_size())) surface.blit(self.game_surface, (0, self.height/6))