Tu estás aquí: ¡Bienvenido! » Traducciones » pygame » display
Usuario
Buscar páginas
Esta Pagina
General

display

Módulo de pygame para controlar la ventana y pantalla de visualización.

Este módulo ofrece control sobre la visualización de pygame. Pygame contiene una sola superficie de visualización que puede estar contenida en una ventana o bien correr en pantalla completa. Una vez que cree la pantalla de visualización podrá tratarla como una superficie normal. Los cambios no se verán inmediatamente en pantalla, deberá elegir una de las dos funciones para actualizar la pantalla.

El punto de origen de la pantalla es x=0 e y=0, este punto representa la esquina superior izquierda de la pantalla. Ambos ejes aumentan en dirección a la esquina inferior derecha de la pantalla.

La pantalla de pygame se puede inicializar en uno de varios modos de video. Por defecto la pantalla es una porción de memoria gestionada por software. Puede solicitar modos especiales como aceleración de video y soporte OpenGL enviando opciones a la función pygame.display.set_mode().

Pygame solo puede tener una pantalla activa a la vez. Crear una nueva usando pygame.display.set_mode() cerrará la anterior pantalla. Si se necesita tener control preciso sobre el formato de pixels o las resoluciones de video, utilice las funciones pygame.display.mode_ok(), pygame.display.list_modes() y pygame.display.Info() para consultar información acerca de la pantalla.

Una vez creada la superficie de visualización, las funciones de este módulo afectan a la pantalla existente. Si el módulo se deshabilita la superficie se convierte en inválida. Si se define un nuevo modo de video, la superficie existente automáticamente se cambiará para operar en la nueva pantalla.

Cuando se define el nuevo modo de video, se habilitan varios eventos de pygame para gestionar el manejo de la ventana. El evento pygame.QUIT se genera cuando el usuario solicita cerrar el programa. La ventana recibirá los eventos pygame.ACTIVEEVENT cuando obtenga o pierda el foco del sistema de ventanas. Si la ventana se construye con las opciones pygame.RESIZABLE, se generarán los eventos pygame.VIDEORESIZE cuando el usuario ajuste las dimensiones de la ventana. Las superficies de video en Hardware que imprimen directamente en la pantalla obtendrán eventos pygame.VIDEOEXPOSE cuando se deba redibujar porciones de la ventana.

init

Inicializa el módulo display.

pygame.display.init(): return None

Inicializa el módulo display de pygame. El módulo display no puede hacer nada a menos que sea inicializado. Esto generalmente se hace por usted de forma automática cuando llama a la función de mayor nivel pygame.init().

Pygame seleccionará una de varias extensiones internas de visualización cuando se inicialice. La extensión interna se escogerá dependiendo de la plataforma y los permisos de usuario. Antes de inicializar el módulo de video se puede alterar la variable de entorno SDL_VIDEODRIVER para controlar la extensión interna de visualización. Los sistemas que tienen varias de estas extensiones se muestran aquí:

  • Windows: windib, directx
  • Unix, GNU/Linux: x11, dga, fbcon, directfb, ggi, vgl, svgalib, aalib

En algunas plataformas es posible incrustar la pantalla de pygame en una ventana existente. Para hacer esto, se debe definir la variable de entorno SDL_WINDOWID con una cadena que contenga el identificador o manejador de la ventana. La variable de entorno será verificada cuando se inicie el modo de video. Tenga en cuenta que pueden ocurrir varios efectos secundarios cuando utilice este modo de video incrustado.

Es inofensivo llamar a esta función mas de una vez, las sucesivas llamadas no tendrán efecto.

quit

Deshabilita el módulo de video.

pygame.display.quit(): return None

Apagará el módulo display entero. Esto significa que cualquier pantalla activa se cerrará. Esto también se puede manejar de forma automática cuando el programa se cierra.

Es inofensivo llamar a esta función mas de una vez, las sucesivas llamadas no tendrán efecto.

get_init

Devuelve True si el módulo display se ha inicializado.

pygame.display.get_init(): return bool

Retorna True si el módulo pygame.display está inicializado actualmente.

set_mode

Inicializa una ventana o la pantalla para visualizar.

pygame.display.set_mode(resolution=(0,0), flags=0, depth=0): return Surface

Esta función construirá una superficie de pantalla. Los argumentos que se le envían solicitan el tipo de pantalla deseado. Si no especifica ningún argumento, la pantalla generada será tan grande como el mejor modo de video soportado por el sistema.

El argumento resolution es una tupla de números que representan el ancho y alto. El argumento flags es una colección de opciones adicionales. El argumento depth representa el número de bits utilizados por color.

El objeto Surface retornado se puede manipular como un objeto Surface normal, solo que los cambios eventualmente se podrán observar en el monitor.

Si no se especifica una resolución, o esta se define en (0, 0) y pygame utiliza la versión 1.2.10 de SDL o superior, la superficie creada tendrá el mismo tamaño que la resolución de pantalla actual. Si solo se define el ancho o alto a 0, la superficie tendrá el mismo alto o ancho de la resolución de pantalla. Se lanzará una excepción si está utilizando una versión menor a 1.2.10 de SDL.

Generalmente es mejor no especificar el argumento depth. Por defecto este coincidirá con la mejor y mas rápida profundidad de color para el sistema. Si su juego requiere un formato de color específico, el argumento depth puede definirlo. Pygame puede emular una profundidad de color no disponible aunque esto puede ser muy lento.

Cuando solicita modos de video en pantalla completa, a veces no se puede definir un modo de video exactamente igual al solicitado. En esas situaciones pygame seleccionará el modo de video mas cercano. Aún así, la superficie que se retorna siempre coincidirá exactamente con la resolución solicitada.

El argumento flags define que tipo de pantalla desea. Hay varias opciones para elegir, e incluso usted puede combinar varias opciones usando operaciones de bits, usando el operador “|” pipe.

Opción Significado
pygame.FULLSCREEN Genera una visualización de pantalla completa
pygame.DOUBLEBUF Recomendado para combinar con HWSURFACE u OPENGL
pygame.HWSURFACE Aceleración por hardware, solo funciona conjuntamente con FULLSCREEN
pygame.OPENGL Genera una pantalla que se puede dibujar con opengl
pygame.RESIZABLE La ventana se debe poder cambiar de tamaño
pygame.NOFRAME La ventana no deberá tener bordes, titulo o controles

get_surface

Obtiene una referencia a la superficie de pantalla actual.

pygame.display.get_surface(): return Surface

Retorna una referencia a la superficie de pantalla actual. Si no se ha definido un modo de video esta función retornará None.

flip

Actualizar la superficie de visualización por completo sobre la pantalla.

pygame.display.flip(): return None

Actualizará el contenido de la pantalla entera. Si su modo de video usa las opciones pygame.HWSURFACE y pygame.DOUBLEBUF, esta operación esperará el retraso vertical e intercambiará las superficies. Si está usando un modo de video de diferente tipo, esta función simplemente actualizará el contenido completo de la superficie.

Cuando se usa un modo de video de tipo pygame.OPENGL esta función realizará un intercambio de buffer de OpenGL.

update

Actualiza porciones de la pantalla para modos de video de software.

pygame.display.update(rectangle=None): return None
pygame.display.update(rectangle_list): return None

Esta función es como una versión optimizada de pygame.display.flip para pantallas de software. Permite que solo una porción de la pantalla se actualice, en lugar de toda el área de pantalla. Si no se pasan argumentos, se actualizará la superficie completa como en pygame.display.flip.

Puede pasar a la función un rectángulo, o una secuencia de rectángulos. Es mas eficiente pasar varios rectángulos de una sola vez en lugar de llamar muchas veces a update con un solo rectángulo o una lista parcial de rectángulos. Es seguro pasar una secuencia de rectángulos con elementos None en ella, estos elementos serán ignorados.

Esta función no se debe usar en pantallas pygame.OPENGL, dado que generarán una excepción.

get_driver

Obtiene el nombre del controlador interno de visualización.

pygame.display.get_driver(): return name

Pygame elige uno de varios controladores de video internos cuando se inicializa. Esta función retorna el nombre interno del controlador utilizado. Esto puede utilizarse para proveer información limitada acerca de qué capacidades de video se pueden acelerar. Vea la opción SDL_VIDEODRIVER in la función pygame.display.set_mode() para ver algunas opciones adicionales.

get_wm_info

Obtiene información acerca sistema de ventana actual.

pygame.display.get_wm_info(): return dict

Genera un diccionario lleno de claves. Las cadenas y los valores son creados arbitrariamente por el sistema. Algunos sistemas podrían no brindar información, en cuyo caso se retorna un diccionario vacío. La mayoría de las plataformas retornan una clave window con el identificador de la ventana asignado por el sistema.

Esta función es nueva en pygame 1.7.1

list_modes

Obtiene una lista de los modos de pantalla completa disponibles

pygame.display.list_modes(depth=0, flags=pygame.FULLSCREEN): return list

Esta función retorna una lista de las posibles resoluciones para una profundidad de color definida. El valor de retorno será una lista vacía si no hay modos de video disponibles para los argumentos dados. Un valor de retorno -1 significa que cualquier resolución debería funcionar (este es generalmente el caso de los modos en ventana). Los modos de video se ordenan de mayor (primeros) a menor (últimos).

Si el argumento depth es 0, SDL seleccionará la actual/mejor profundidad de color para la pantalla. El argumento flags está por defecto en el valor pygame.FULLSCREEN, pero usted puede agregar mas opciones para modos de video en pantalla completa específicos.

mode_ok

Elige la mejor profundidad de color para el modo de video.

pygame.display.mode_ok(size, flags=0, depth=0): return depth

Esta función utiliza los mismos argumentos que la función pygame.display.set_mode. Se usa para determinar si está disponible el modo de video solicitado. En caso de no estar disponible retorna la profundidad de color que mejor coincida con la pantalla solicitada.

Generalmente no se especifica el argumento depth, dado que algunas plataformas suportan varios modos de video. Si especifica este argumento dará a entender cual es el mejor modo de video.

Las opciones flags mas útiles son pygame.HWSURFACE, pygame.DOUBLEBUF y tal vez pygame.FULLSCREEN. La función retornará 0 si no se puede definir este tipo de pantalla.

gl_get_attribute

Obtiene el valor de los atributos de opengl para la pantalla actual.

pygame.display.gl_get_attribute(flag): return value

Después de llamar a pygame.display.set_mode() con la opción pygame.OPENGL, es una buena idea consultar el valor de cualquier atributo de opengl solicitado. Vea las función pygame.display.gl_set_attribute() para obtener una lista de opciones válida.

gl_set_attribute

Solicita un atributo de OpenGL para el modo de video.

pygame.display.gl_set_attribute(flag, value): return None

Cuando llama a pygame.display.set_mode() con la opción pygame.OPENGL, pygame automáticamente maneja la configuración de los atributos de OpenGL como el color y el double buffer. OpenGL ofrece muchos otros atributos que tal vez quiera controlar por su cuenta. Indique uno de estos atributos como el parámetro flag y su valor apropiado como value. Esto debe llamarse antes de ejecutar pygame.display.set_mode().

Las opciones de OpenGL, para el argumento flag son:

  • GL_ALPHA_SIZE
  • GL_DEPTH_SIZE
  • GL_STENCIL_SIZE
  • GL_ACCUM_RED_SIZE
  • GL_ACCUM_GREEN_SIZE
  • GL_ACCUM_BLUE_SIZE
  • GL_ACCUM_ALPHA_SIZE
  • GL_MULTISAMPLEBUFFERS
  • GL_MULTISAMPLESAMPLES
  • GL_STEREO

get_active

Devuelve True cuando la ventana se está mostrando en la pantalla.

pygame.display.get_active(): return bool

Luego de llamar a pygame.display.set_mode la superficie de visualización se hará visible en la pantalla. La mayoría de los sistemas de ventanas permiten que el usuario pueda ocultar las ventanas. Esta función retornará False si la pantalla de visualización está oculta o minimizada.

iconify

Minimiza la aplicación.

pygame.display.iconify(): return bool

Solicita al sistema de ventanas que oculte o minimice la pantalla. No todos los sistemas y pantallas soportan esta opción. La función retornará True en caso de éxito.

Cuando la pantalla está minimizada la función pygame.display.get_active() retornará False. La cola de eventos debería recibir el evento ACTIVEEVENT cuando la ventana se minimiza.

toggle_fullscreen

Alterna entre la visualización de ventana o pantalla completa.

pygame.display.toggle_fullscreen(): return bool

Alterna entre los modos de video pantalla completa y ventana. Esta operación solo funciona bajo el controlador x11 de unix. Para la mayoría de las situaciones es mejor llamar a pygame.display.set_mode() con las nuevas opciones de pantalla.

set_gamma

Cambia los niveles de color del hardware.

pygame.display.set_gamma(red, green=None, blue=None): return bool

Define los niveles de rojo, verde y azul en el hardware de video. Si no se especifican los valores verde y azul, ambos se evaluarán como si tuvieran el mismo valor que el componente rojo. No todos los sistemas y hardware soportan paletas gama, si la función retorna True si opera correctamente.

Un valor gamma de 1.0 genera una tabla de color lineal. Los valores inferiores harán mas oscura la pantalla y los valores superiores aumentarán el brillo.

set_gamma_ramp

Cambia la paleta de colores de hardware con una búsqueda personalizada.

pygame.display.set_gamma_ramp(red, green, blue): return bool

Define los niveles de rojo, verde y azul con una tabla de búsqueda explícita. Cada argumento debería ser una secuencia de 256 números enteros. Los enteros deberían estar entre 0 y 0xffff. No todos los sistemas y hardware soportan paletas gama, si la función retorna True si opera correctamente.

set_icon

Cambia la imagen de sistema para la ventana.

pygame.display.set_icon(Surface): return None

Define el icono de ejecución que el sistema usará para representar la ventana. Por defecto todas las ventanas muestran el logo de pygame como icono de la ventana.

Puede especificar cualquier superficie, aunque la mayoría de los sistemas esperan una imagen pequeña estilo 32×32. La imagen puede tener una transparencia por color clave que será enviada al sistema.

Algunos sistemas no permite que se cambie el icono luego de que la ventana se ha mostrado. Esta función se puede llamar antes de pygame.display.set_mode() para crear el icono antes de especificar el modo de video.

set_caption

Define el título de la ventana.

pygame.display.set_caption(title, icontitle=None): return None

Si la pantalla tiene un título de ventana, esta función cambiará ese título. Algunos sistemas soportan un titulo alternativo mas corto para utilizarse en ventanas minimizadas.

get_caption

Obtiene el título de la ventana.

pygame.display.get_caption(): return (title, icontitle)

Retorna el título principal y el titulo alternativo (para ventanas minimizadas) de la ventana principal. Estos generalmente tienen el mismo valor.

set_palette

Define la paleta de colores para modos de video indexado.

pygame.display.set_palette(palette=None): return None

Cambiará la paleta de colores para pantallas de 8bit. No cambia la paleta de la superficie de visualización, solo cambia la palera que se usa para mostrar la superficie. Si no se especifica un argumento, se restaurará la paleta por defecto. La palera es una secuencia de ternas RGB.

 
traducciones/pygame/display.txt · Última modificación: 20/01/2009 a las 21:11 por hugoruscitti
Este sitio funciona sobre el motor wiki de DokuWiki.
© 2003-2008 Hugo Ruscitti