import pygame
pygame.init()
pantalla=pygame.display.set_mode((800, 600))
reloj1=pygame.time.Clock()
imagen1=pygame.image.load("imagen.png")
salir=False
#posicion
(x,y)=(100,100)
#velocidad
vel_x=0
vel_y=0
#rectangulo
r1=pygame.rect.Rect(500,300,50,100)
r2=pygame.rect.Rect(70,300,50,100)
#sprite
sprite1=pygame.sprite.Sprite() #inicialisamos un sprite
sprite1.image=imagen1 #cargamos una imagen al sprite
sprite1.rect=imagen1.get_rect() #una forma de obtener las dimensiones de la imagen devuelve el ancho y el alto
sprite1.rect.top=140 #posicion del srpite eje y
sprite1.rect.left=200 #posiciion del sprite eje x
while salir!=True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
salir=True
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_LEFT:
vel_x-=10
if event.key==pygame.K_RIGHT:
vel_x+=10
if event.key==pygame.K_UP:
vel_y=-10
if event.key==pygame.K_DOWN:
vel_y=+10
if event.type==pygame.KEYUP:
if event.key==pygame.K_LEFT:
vel_x=0
if event.key==pygame.K_RIGHT:
vel_x=0
if event.key==pygame.K_UP:
vel_y=0
if event.key==pygame.K_DOWN:
vel_y=0
x+=vel_x
y=-vel_x
viejo_x=sprite1.rect.left #posicion en el eje x guardada
viejo_y=sprite1.rect.top
sprite1.rect.move_ip(vel_x,vel_y) #mueve el sprite
if sprite1.rect.colliderect(r1) or sprite1.rect.colliderect(r2): #manejo colision
sprite1.rect.left=viejo_x
sprite1.rect.top=viejo_y
reloj1.tick(15)
pantalla.fill((255,255,255))
pygame.draw.rect(pantalla, (0,200,0), r1) #dibujo el rectangulo
pygame.draw.rect(pantalla,(0,200,0),r2)
pantalla.blit(sprite1.image,sprite1.rect) #dibujo el srpite
pygame.display.update()
pygame.quit