Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make a Pygame Zero window full screen?

I am using the easy-to-use Python library pgzero (which uses pygame internally) for programming games.

How can I make the game window full screen?

import pgzrun

TITLE = "Hello World"

WIDTH  = 800
HEIGHT = 600

pgzrun.go()

Note: I am using the runtime helper lib pgzrun to make the game executable without an OS shell command... It implicitly imports the pgzero lib...

Edit: pgzero uses pygame internally, perhaps there is a change the window mode using the pygame API...

like image 707
R Yoda Avatar asked Aug 16 '19 09:08

R Yoda


1 Answers

You can access the pygame surface which represents the game screen by screen.surface and you can change the surface in draw() by pygame.display.set_mode(). e.g.:

import pgzrun
import pygame

TITLE = "Hello World"

WIDTH  = 800
HEIGHT = 600

def draw():
    screen.surface = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)

pgzrun.go()

Or switch to fullscreen when the f key is pressed respectively return to window mode when the w key is pressed in the key down event (on_key_down):

import pgzrun
import pygame

TITLE = "Hello World"

WIDTH  = 800
HEIGHT = 600

def on_key_down(key):
    if key == keys.F:
        screen.surface = pygame.display.set_mode((WIDTH, HEIGHT), pygame.FULLSCREEN)
    elif key == keys.W:
        screen.surface = pygame.display.set_mode((WIDTH, HEIGHT))

pgzrun.go()
like image 184
Rabbid76 Avatar answered Oct 12 '22 20:10

Rabbid76