import random import pygame from pygame.font import Font from level.LevelManager import LevelManager from sprite.DynamicSprite import DynamicSprite from sprite.PositionScale import PositionScale from sprite.SpritesheetManager import SpritesheetManager from physics.PhysicsElementsHandler import PhysicsElementsHandler from sprite.Sprite import Sprite from sprite.StaticSprite import StaticSprite from ui_elements.TextLabel import TextLabel what_to_run = 'physics' if what_to_run == 'level': csv_parse_test = LevelManager('data/levels') csv_parse_test.load_from_config('data/levels/levels.json') print(csv_parse_test.levels[0]) elif what_to_run == 'physics': screen_transform = PositionScale((0, 0), (4, 4)) pygame.init() screen = pygame.display.set_mode((600, 500)) pygame.display.set_caption("PE GAME") clock = pygame.time.Clock() spritesheet_manager = SpritesheetManager("data/sprites", "data/sprites/sprites.json") test_1_sprite = DynamicSprite(spritesheet_manager.get_sheet("test_1")) test_2_sprite = StaticSprite(spritesheet_manager.get_sheet("test_1")) test_1_sprite.position_scale = PositionScale((10, 10), (1, 1)) test_2_sprite.position_scale = PositionScale((100, 100), (1, 1)) physics_handler = PhysicsElementsHandler() physics_handler.add_sprite(test_1_sprite) physics_handler.add_sprite(test_2_sprite) while True: clock.tick(10) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit(0) screen.fill((0, 0, 0)) physics_handler.tick(1) physics_handler.draw(screen, screen_transform) pygame.display.update() elif what_to_run == 'textlabel': screen_transform = PositionScale((0, 0), (4, 4)) pygame.init() screen = pygame.display.set_mode((300, 300)) pygame.display.set_caption("PM GAME") clock = pygame.time.Clock() test = TextLabel("Hallo", 100, 100, 50, Font('data/font/MilkyNice.otf')) while True: clock.tick(5) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() screen.fill((0, 0, 0)) test.draw(screen, screen_transform) pygame.display.update() elif what_to_run == 'sprite': screen_transform = PositionScale((0, 0), (4, 4)) pygame.init() screen = pygame.display.set_mode((300, 300)) pygame.display.set_caption("PE GAME") clock = pygame.time.Clock() spritesheet_manager = SpritesheetManager("data/sprites", "data/sprites/sprites.json") test_1_sprite = Sprite(spritesheet_manager.get_sheet("test_1")) test_2_sprite = Sprite(spritesheet_manager.get_sheet("test_1")) test_1_sprite.position_scale = PositionScale((10, 10), (1, 1)) test_2_sprite.position_scale = PositionScale((60, 60), (1, 1)) # test_1_sprite.dump("debug.png") while True: clock.tick(5) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() screen.fill((0, 0, 0)) test_1_sprite.tick(1) test_1_sprite.draw(screen, screen_transform) test_2_sprite.tick(1) test_2_sprite.draw(screen, screen_transform) pygame.display.update() if random.randint(1, 10) == 1: test_1_sprite.set_animation_state(random.choice(["walk_r", "walk_l", "idle", "other_test"])) print(test_1_sprite.animation_state)