Jak zrobić automatyczną rozdzielczość w pygame.

Jak zrobić automatyczną rozdzielczość w pygame.
Basiorek
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:12
0

Dzień dobry!
Dopiero zaczynam programować w Pythonie i chciałbym zrobić automatyczna rozdzielczość w mojej wersji gry Dino z Google Chrome w Pygame. Czy ktoś mógł by mi pomóc to zrobić. O to mój kod:

Kopiuj
import pgzrun
import pygame
import sys

WIDTH = 1920
HEIGHT = 1080

def draw():
    screen.clear()
    screen.fill('#0ae1f5')

    for i in range((screen.width//70)+1):
        screen.blit('grass', (i*70, screen.height-70))

def on_key_down(key):
    if key == keys.F:
        screen.surface = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
    elif key == keys.TAB:
        screen.surface = pygame.display.set_mode((WIDTH, HEIGHT))
    if pygame.key.get_pressed() [pygame.K_ESCAPE]:
        sys.exit(0)

def update():
    pass

pgzrun.go()

Jak by co programuję w PyCharm Community Edition 2020.2.3 x64.
Z góry dziękuję za pomoc.

edytowany 2x, ostatnio: Basiorek
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4923
0

Nie programuje sie w Pycharm, tylko uzywa jakiegoś interpretera, 3.8, 3.9, etc... A teraz, jak się ma Twoje pytanie do tego kodu, te funkcje, ich nazwy, co one mają wspólnego z automatycznym ustawianiem rozdzielczości?


bearek
  • Rejestracja:prawie 5 lat
  • Ostatnio:ponad rok
  • Postów:85
1

Co to w ogóle jest "automatyczna rozdzielczość"?

Yukiteru Gromadzki
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad rok
  • Postów:192
0

Chodzi ci o rozmiar okna równy rozdzielczości monitora?

Kopiuj
info = pygame.display.Info()
pygame.display.set_mode((info.current_w, info.current_h))

Ewentualnie coś takiego?

Kopiuj
pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

link

Tasmanian Devil
Hej! Twój post prawdopodobnie zawiera niesformatowany kod. Użyj znaczników ``` aby oznaczyć, co jest kodem, będzie łatwiej czytać. (jestem botem, ta akcja została wykonana automatycznie, prawdopodobieństwo 0.99823946)
Basiorek
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:12
0

@Yukiteru Gromadzki: Tak chodziło mi oto ale mi nadal nie działa może mam coś źle w moim kodzie. Czy mógłbyś przygotować taki sam kod tyle że z tymi linijkami co zapisałeś powyżej i żeby można było by zrobić fullscreen.

Kopiuj
import pgzrun
import pygame
import sys

pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
info = pygame.display.Info()
pygame.display.set_mode((info.current_w, info.current_h))

def draw():
    screen.clear()
    screen.fill('#0ae1f5')

    for i in range((screen.width//70)+1):
        screen.blit('grass', (i*70, screen.height-70))

def on_key_down(key):
    if key == keys.F:
        screen.surface = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
    elif key == keys.TAB:
        screen.surface = pygame.display.set_mode((WIDTH, HEIGHT))
    if pygame.key.get_pressed() [pygame.K_ESCAPE]:
        sys.exit(0)

def update():
    pass

pgzrun.go()
edytowany 1x, ostatnio: Basiorek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.