python - jpg - rectangle pygame
PyGame: draw.rect() tiene parĂ¡metros no vĂ¡lidos (1)
Echemos un vistazo a la definición de la función:
pygame.draw.rect(Surface, Color, Rect, Thickness)
- La superficie es una superficie donde quieres dibujar
- El color es un tupple con valores RGB que definen el color que se utilizará
- Rect es un tupple en el formato: (x, y, ancho, alto)
- x, y son las coordenadas de la esquina superior izquierda
- ancho, alto son el ancho y alto del rectángulo
- El espesor es el grosor de la línea. Si es cero, el rectángulo está lleno.
En base a esto, deberías hacer algo como:
redColor = (255,0,0)
pygame.draw.rect(screen, redColor, (mousepos[0], mousepos[1], 20, 20), 1)
Fuentes:
La documentación oficial de python.draw
se puede encontrar aquí:
http://www.pygame.org/docs/ref/draw.html
Tenga en cuenta los útiles Search examples for <function>
botón Search examples for <function>
debajo de cada descripción de función, que puede llevarlo a múltiples ejemplos de uso del mundo real.
Los tutoriales útiles también se pueden encontrar en las páginas oficiales: http://www.pygame.org/wiki/tutorials
Otros tutoriales no oficiales, como este , se pueden encontrar con un poco de esfuerzo en Google.
Intento aprender eventos de mouse con PyGame y estoy intentando dibujar un cuadro donde el usuario haga clic. Estoy estableciendo una variable igual a pygame.mouse.get_pos (), y llamando a los miembros individuales de la tupla según la posición x, y del mouse. Aquí está el código:
import pygame, sys
pygame.init()
screen = pygame.display.set_mode((800, 600))
mousepos = pygame.mouse.get_pos()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
if event.type == pygame.MOUSEBUTTONDOWN:
pygame.draw.rect(mousepos[0], mousepos[1], 20, 20)
El juego se inicia, pero cuando hago clic, se cuelga, dando este error:
Traceback (most recent call last):
File "C:/Users/User/Documents/proj/Python/mouse.py", line 13, in <module>
pygame.draw.rect(mousepos[0], mousepos[1], 20, 20)
TypeError: must be pygame.Surface, not int
Sé lo que estoy haciendo mal: mis parámetros para draw.rect()
son de tipos no válidos, pero no sé cómo cambiar los parámetros para que sean apropiados. Entonces, ¿cómo puedo arreglar esto?