Módulo de pygame para dibujar figuras.
Dibuja varias figuras simples a una superficie. Estas funciones servirán para pintar en cualquier formato de superficie. Aunque dibujar en superficies almacenadas en Hardware será mas lento que en superficies de Software.
La mayoría de las funciones admiten un argumento width
para representar
el tamaño de la linea alrededor del borde de la figura. Si se pasa el parámetro
width
con valor 0, la función pintará la figura entera como sólida.
Todas las funciones de dibujo respetan el área de recorte para la superficies, y se limitará a esa área. Las funciones retornan un rectángulo representando el área límite de los pixels modificados.
La mayoría de las funciones aceptan un argumento color
, que es una terna o
tupla RGB. Incluso aceptan una tupla de 4 elementos para
RGBA. El valor alpha
(o componente de transparencia) se dibujará
directamente en la superficie si ésta contiene la propiedad de transparencia de
pixels, aunque la función de dibujo no dibujará de forma transparente. El argumento color
también puede ser un valor de pixel entero que ya esté convertido al formato de pixel de la imagen.
Estas funciones bloquearan temporalmente la superficie donde están operante. Así que muchas llamadas de dibujo se pueden acelerar bloqueando y desbloqueando la superficie donde se trabaja antes y después de llamar a las funciones de dibujo.
Dibuja una figura rectangular.
pygame.draw.rect(Surface, color, Rect, width=0): return Rect
Dibuja una figura rectangular sobre una superficie. El parámetro Rect
dado es el área del rectángulo. El argumento width
es el espesor para dibujar el borde
exterior de la figura. Si width
se define con valor 0 entonces el rectángulo se pintará completo.
Recuerde que el método Surface.fill funciona igual de bien para dibujar rectángulos completos. De hecho, Surface.fill se puede acelerar por medio de Hardware en algunas plataformas tanto con modos de video por Software como Hardware.
Dibuja una figura con cualquier número de lados.
pygame.draw.polygon(Surface, color, pointlist, width=0): return Rect
Dibuja una figura poligonal en una superficie. El argumento pointlist
es
una lista de los vértices del polígono. El argumento width
es el espesor
para dibujar el borde de la figura. Si width
es 0 entonces el polígono
se pinta por completo.
Para lograr un polígono con bordes suaves utilice aalines con el
parámetro closed
.
Dibujar un círculo alrededor de un punto.
pygame.draw.circle(Surface, color, pos, radius, width=0): return Rect
Dibuja una figura circular sobre una superficie. El argumento pos
es el
centro del círculo, y radius
es el tamaño. El argumento with
es el
espesor del borde de la figura. Si with
es 0 entonces el círculo se
pintará por completo.
Dibuja una elipse dentro del área indicada por un rectángulo.
pygame.draw.ellipse(Surface, color, Rect, width=0): return Rect
Dibuja una figura elíptica en una superficie. La figura se dibujará en el área delimitada por el rectángulo dado.
Dibuja una sección parcial de una elípse.
pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1): return Rect
Dibuja un arco elíptico en una superficie. La figura se dibujará en el
área delimitada por el rectángulo. Los dos argumentos angle
son los
ángulos inicial y final en radianes, donde 0 representa la izquierda. El
argumento width
es el espesor de la linea de dibujo.
Dibuja un segmento de linea recto.
pygame.draw.line(Surface, color, start_pos, end_pos, width=1): return Rect
Dibuja un segmento de linea recto en una superficie. No se dibujan puntas en los extremos de la linea, las terminaciones serán cuadradas para lineas muy gruesas.
Dibuja múltiples segmentos de linea continuos.
pygame.draw.lines(Surface, color, closed, pointlist, width=1): return Rect
Dibuja una secuencia de lineas en una superficies. El argumento pointlist
es una serie de puntos que se conectarán por una linea. Si el argumento
closed
es true se dibujará un segmento de linea adicional entre
el primer y último punto.
Esta función no dibuja ninguna punta o nodo. Las lineas con esquinas afiladas y grosor de linea muy grande podrían mostrar las intersecciones de segmentos de manera inapropiada.
Dibuja lineas suavizadas.
pygame.draw.aaline(Surface, color, startpos, endpos, blend=1): return Rect
Dibuja una linea suavizada en una superficie. Esta función estima el
rectángulo afectado. Se retorna el rectángulo que representa el área
afectada. Si el parámetro blend
está en valor True
, las
figuras se mezclarán con la tonalidad de los pixels existentes
en lugar de sobre-escribirlos. Esta función acepta valores en números
realizar para los extremos de los segmentos.
Dibuja múltiples segmentos de linea continuos.
pygame.draw.aalines(Surface, color, closed, pointlist, blend=1): return Rect
Dibuja una secuencia de lineas en una superficie. Debe indicar al menos
dos puntos en la secuencia de puntos (parámetro pointlist
). El argumento
closed
es un valor booleano, si es True
se dibujará un segmento
de linea adicional entre el primer y último punto. Si el argumento blend
se define a True
la figura se dibujará con las tonalidades existentes
en lugar de reemplazarlas. Esta función acepta valores en números reales
para especificar los puntos.