Moviendo un Objeto Con el Mouse en Pygame

Bueno hola a todos de nuevo, en esta ocasión les traigo la explicación de cómo mover un objeto con el mouse y detectar una colisión cuando presionamos un botón del mouse.
Código
class pelota( pygame.sprite.Sprite):
#--------------------------------------------------------------------------------
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image=cargar_img('Zero.png')
self.rect = self.image.get_rect()
self.rect.center = (200,200)
self.velosidad=[10,11]
#--------------------------------------------------------------------------------
def update(self):
self.rect.move_ip((self.velosidad[0], self.velosidad[1]))
self.control()
#--------------------------------------------------------------------------------
def pintar(self,pantalla,pintar_rect):
pantalla.blit(self.image,self.rect)
if pintar_rect:
pygame.draw.rect(pantalla,(255,0,0),self.rect)
self.rect.center=(200,200)
#--------------------------------------------------------------------------------
def control(self):
if self.rect.left <=0 or self.rect.right>=640:
self.velosidad[0]=-self.velosidad[0]
if self.rect.top <=0 or self.rect.bottom>=480 :
self.velosidad[1]=-self.velosidad[1]
#--------------------------------------------------------------------------------
Bueno en la clase pelota agregue la función pintar, que hace dos cosas muy importantes primero dibuja la imagen de nuestro personaje y segundo tiene una condicional que si es de valor positivo dibuja un cuadro de color rojo además de mover a nuestro personaje a una posición diferente
Código
class Cursor():
#--------------------------------------------------------------------------------
def __init__(self,x,y):
self.imagen=cargar_img('mira.png')
self.rect=pygame.Rect((x-15,y-15),(5,5))
#--------------------------------------------------------------------------------
def pintar(self,pantalla,x,y):
self.rect.topleft=(x+5,y+5)
pantalla.blit(self.imagen,(x-15,y-15))
pygame.draw.rect(pantalla,(255,0,0),self.rect)
#--------------------------------------------------------------------------------
Bueno la clase cursor es la que mueve nuestra mira por la ventana, primero cargamos la imagen, luego y a qui viene el cambio definimos el rectángulo pero con dos variables x,y que nosotros enviaremos al momento de llamar esta función así la imagen de la mira cambiara de posición, los números que le restamos a estas variables, nos permite centrar nuestra imagen con el cursor y el rectángulo de la función rect, los valores (5,5) determinar el tamaño de este rectángulo si los aumentamos podemos ver como este cambia de tamaño.
La Función pintar lo que realiza es la ubicación de nuestro cursor, además de dibujar la imagen de la mira y por ultimo dibujar un rectángulo de color rojo.
x,y=pygame.mouse.get_pos()
Luego definimos la funcion main en la cual la línea que toma las coordenadas de nuestro mouse es x,y=pygame.mouse.get_pos() que nos devuelve la posición x,y de nuestro puntero
cursor1=Cursor(x,y)
Luego enviamos estas coordenadas a la clase cursor que las toma par ala ubicación de nuestra imagen.
if event.type ==pygame.MOUSEBUTTONDOWN:
if cursor1.rect.colliderect(pelota1.rect):
pintar_rect=True
Por último averiguamos la colisión entre nuestros objetos, primero le decimos que detecte si presionamos cualquiera de los botones de nuestro mouse, luego que defina su existe una colisión entre los dos objetos Sprite y que cambie el valor de la variable a verdadero
Realizado por
Mikey
Comunidad
Bueno a qui esta el archivo con todos los elementos del juego las imágenes y el sonido, apenas termine el manual lo publicare para que se entienda de una manera mejor el código, dentro de la comunidad esta el enlace para descargar el código