PyGame. Objeto ventana
El programa más simple que podemos escribir usando PyGame debe contener necesariamente una ventana, aunque de momento no sirva para nada más que demostrar que el programa existe y funciona. Este sería un ejemplo de lo que acabo de decir:
import pygamepygame.init()pygame.display.set_mode((800,600))pygame.time.delay(2000)pygame.quit()
- El tamaño de la pantalla depende de la tupla que recibe como parámetro el método (o función) set_mode() (recuerda usar doble paréntesis) del objeto display, así que lo podemos modificar para que se ajuste lo mejor posible a nuestro monitor, llegando incluso a utilizarlo a pantalla completa. Tema interesante sobre el que volveremos, por cierto.
- Dado que se usa un color por defecto, el manejo de esta opción no queda expresado en este primer script, pero enseguida comprobaremos la necesidad de presencia.
- Finalmente, el control del tiempo de exposición de nuestra ventana mediante el método delay() del objeto time es una licencia que nos tomamos ahora para facilitar el visionado del funcionamiento del script, por lo que no será un método que veamos necesariamente en otros script, pero que tiene su interés, especialmente para un uso de PyGame un tanto diferente del habitual.
import pygamepygame.init()ventana = pygame.display.set_mode((800,600))ventana.fill((255,255,255))pygame.display.update()pygame.time.delay(2000)pygame.quit()
- Usando el método fill() que recibe como parámetro una tupla con tres valores numéricos (derivada del sistema de codificación del color en formato RGB)
Esa tupla la podemos sustituir por una constante
BLANCO = (255,255,255) -> ventana.fill(BLANCO)
- Y el método update(), encargado de actualizar los valores de la pantalla.
#Superficie del fondo de pantalla
imgBackground = pygame.Surface(screen.get_size())
imgBackground = imgBackground.convert()
imgBackground.fill((0, 0, 255))
size = (800,600)
ventana = pygame.display.set_mode(size)
... o mediante dos constantes
ANCHO = 800
ALTO = 600
ventana = pygame.display.set_mode((ANCHO,ALTO))
... pudiendo modificar esos valores numéricos sin necesidad de modificar la instrucción que establece la propia pantalla mediante set_mode(). Únicamente queda por plantear una situación especial que no se resuelve modificando esos valores: cuando deseamos trabajar a pantalla completa (fullscreen). En este caso necesitamos modificar la instrucción de base añadiendo un segundo parámetro a set_mode(): pygame.FULLSCREEN
V.g ventana = pygame.display.set_mode(size, pygame.FULLSCREEN)
Dos observaciones son necesarias en estos momentos:
- Observación 1: aunque en los equipos modernos no es normal que falle la tarjeta gráfica al usar el modo fullscreen, si puede suceder en equipos antiguos, por lo que debemos saber que las resoluciones que aceptan ese modo de pantalla son las siguientes: 640 x 480, 800 x 600, 1024 x 768 y 1920 x 1080. Se recomienda usar cualquiera de los dos primeros como tamaños de ventana por ser las medidas de uso más frecuente.
- Observación 2: El uso de la pantalla a tamaño completo tiene repercusiones sobre los objetos contenidos en ella y sobre la imagen de fondo, por lo que no te recomiendo que lo uses en estos momentos, ya que aun no nos corresponde entrar en estas cuestiones y dar solución a los problemas que puedan surgir. Por el momento es suficiente con que sepas que es posible trabajar con diferentes tamaños de ventana, realizar cambios de tamaño y trabajar a pantalla completa. En breve aprenderemos a sacar rendimiento de estas posibilidades.

No hay comentarios:
Publicar un comentario
Comenta esta entrada