time_count = 0 time_delta = 0.016 # 1/60 of a second time_scale = 1 while running: screen.fill((0, 20, 0)) key_state = pygame.key.get_pressed() horizontal = key_state[pygame.K_d] - key_state[pygame.K_a] vertical = key_state[pygame.K_s] - key_state[pygame.K_w] # test.transform.position.y += 0.1 # camera.game_object.transform.position.y += 0.1 # print(test.transform.position.y, camera.game_object.transform.position.y) test2.move(0, 0, time_delta, container.children) test3.move(0, 0, time_delta, container.children) test.move(0, 0, time_delta, container.children) polygon.move(horizontal * 100 * time_delta, -vertical * 100 * time_delta) pygame_events() camera.movement(time_delta) camera.render(screen) polygon.draw_lines(screen) nope.draw_lines(screen) pygame.display.flip() last_time_dt = dt.now() last_time_ts = dt.timestamp(last_time_dt) time_delta = last_time_ts - current_time_ts time_count += time_delta current_time_dt = dt.now() current_time_ts = dt.timestamp(current_time_dt) if time_count >= 1: