import pygame import numpy as np from scripts.tiles import Tilemap from scripts.entities import Entity from scripts.utils import load_image, load_images, to_isometric_pixel from scripts.camera import Camera # SETTINGS WIDTH = 1280 HEIGHT = 720 TITLE = 'YuGiOh Tag Force Clone' class Game: def __init__(self): pygame.init() self.screen = pygame.display.set_mode((WIDTH, HEIGHT)) self.display = pygame.Surface((WIDTH//2, HEIGHT//2)) pygame.display.set_caption(TITLE) self.clock = pygame.time.Clock() self.player = Entity(self, 'player', (64., 64.), (28, 42)) self.assets = { 'player' : load_image('entities/player.png'), #'grass' : load_images('tiles/grass/'), #'stone' : load_images('tiles/stone/') 'iso' : load_images('tiles/iso/') } self.tilemap = Tilemap(self, (64,32), 'map_1.csv') self.camera = Camera(self) def run(self): self.status = True while self.status: self.display.fill('white') delta = np.array([0.0,0.0]) for event in pygame.event.get(): if event.type == pygame.QUIT: self.status = False keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: delta[0] -= 5 if keys[pygame.K_RIGHT]: delta[0] += 5 if keys[pygame.K_UP]: delta[1] -= 5 if keys[pygame.K_DOWN]: delta[1] += 5 #print(self.tilemap.physics_rects_around(self.player.pos)) print(self.player.pos) self.camera.update() self.player.update(self.tilemap, delta) self.tilemap.render(self.display, offset = self.camera.scroll) self.player.render(self.display, offset = self.camera.scroll) self.screen.blit(pygame.transform.scale(self.display,self.screen.get_size()), (0,0)) pygame.display.update() self.clock.tick(60) pygame.quit() Game().run()