class Play(Scene): def __init__(self): Scene.__init__(self) self.BACKGROUND_COLOR = (0, 0, 0, 255) self.slider1 = Slider( (50, utils.SCREEN_H // 2 - Slider.HEIGHT), (pygame.K_w, pygame.K_s), ) self.slider2 = Slider( (utils.SCREEN_W - Slider.WIDTH - 50, utils.SCREEN_H // 2 - Slider.HEIGHT), (pygame.K_UP, pygame.K_DOWN), ) self.square = Square( (utils.SCREEN_W // 2 - Square.WIDTH // 2, utils.SCREEN_H // 2 - Square.HEIGHT // 2), ) def go_to_menu(self): from menu import Menu utils.set_scene( Menu() ) def on_escape(self): self.go_to_menu() def update(self): keys = pygame.key.get_pressed() self.slider1.update(keys) self.slider2.update(keys) self.square.update( (self.slider1.fPos, self.slider2.fPos) ) def blit(self): self.slider1.blit(utils.screen) self.slider2.blit(utils.screen) self.square.blit(utils.screen)
pygame.init() screen = pygame.display.set_mode((700, 500)) pygame.display.set_caption("Studsaren") square = Square(screen, random.randint(0, screen.get_size()[0] - 50), random.randint(0, screen.get_size()[1] - 50), 50, 50) square.velocity = 200 * Vector(random.uniform(-10, 10), random.uniform(-10, 10)).normalized() clock = pygame.time.Clock() done = False while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True t = clock.get_time() / 1000 width, height = screen.get_size() if square.pos.x <= 0 or square.pos.x >= width - square.w: square.velocity = Vector(-square.velocity.x, square.velocity.y) if square.pos.y <= 0 or square.pos.y >= height - square.h: square.velocity = Vector(square.velocity.x, -square.velocity.y) square.update(t) screen.fill((0, 0, 0)) square.draw() pygame.display.flip() clock.tick(60)