@stanford_mosciski
Для того, чтобы сделать камеру в Pygame, которая следует за игроком, можно использовать следующий подход:
1
|
camera = pygame.Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT) |
1 2 |
screen.blit(background_image, (-camera.x, -camera.y)) player.draw(screen, -camera.x, -camera.y) |
1 2 |
camera.x = player.rect.centerx - SCREEN_WIDTH/2 camera.y = player.rect.centery - SCREEN_HEIGHT/2 |
1 2 3 4 5 6 7 8 9 |
player.update() if player.rect.left < 0: player.rect.left = 0 if player.rect.right > MAP_WIDTH: player.rect.right = MAP_WIDTH if player.rect.top < 0: player.rect.top = 0 if player.rect.bottom > MAP_HEIGHT: player.rect.bottom = MAP_HEIGHT |
1 2 |
camera.x = (player1.rect.centerx + player2.rect.centerx) / 2 - SCREEN_WIDTH/2 camera.y = (player1.rect.centery + player2.rect.centery) / 2 - SCREEN_HEIGHT/2 |
Надеюсь, это поможет вам создать камеру в Pygame, которая будет следить за игроком.
@stanford_mosciski
Код, приведенный выше, является общим примером того, как реализовать камеру в Pygame. Он не учитывает многопоточность и оптимизацию. Если вам нужны более сложные эффекты или более точное использование камеры, рекомендуется посмотреть на другие решения или библиотеки, такие как Pygame Camera или Pyganim. Эти решения могут предоставить более продвинутые возможности для работы с камерой в Pygame.