Primero: Para poder hacerlo visible o invisible el cursor del mouse:
pygame.mouse.set_visible(bool)
bool puede ser True o False segun se desee hacer visible o invisible el cursor
Segundo: para poder saber en que posicion de la pantalla esta el cursor utilizamos:
pygame.mouse.get_pos()
esta funcion devuelve un par de datos con las coordenadas x,y del cursor, por lo tanto la deberiamos llamar asi:
mouse_pos = pygame.mouse.get_pos()
o tambien:
mouse_pos_x, mouse_pos_y = pygame.mouse.get_pos()
Estos nombres son arbitrarios, los puedes cambiar, lo que debes saber es que: pygame.mouse.get_pos() te devuelve una tupla con las posiciones del mouse.
Tercero: Para saber si se esta presionando algun boton del mouse:
pygame.mouse.get_pressed()
devuelve un tupla de tres valores, que son los tres botones del mouse, los valores se encuentran en el mismo orden que los botones del mouse, o sea el valor de mas a la izquierda es el boton izquierdo del mouse y asi sucesivamente, si el boton se encuentra presionado, el valor es 1, en caso contrario es 0.
Resumiendo con codigo:
botones_mouse = pygame.mouse.get_pressed()
if botones_mouse[0] == 1: # o sea
print "hola"
Cuarto: tambien queremos poder saber si con el mouse estamos o no haciendo click sobre algo, para esto hay varias formas, una de ellas es aprovechar el rect de lo que estamos clickeando, eso seria mas o menos asi:
mouse_x, mouse_y = pygame.mouse.get_pos()
for objeto in objetos_del_juego:
if objeto.collidepoint(mouse_x, mouse_y):
print "algo"
una segunda opcion es construir un rect con la posicion del mouse, dandole un ancho y alto
y utilizando ese rect para detectar colisiones como explique en un post anterior
Para los que se entusiasmaron, buena suerte programando su primer RTS.
1 comentario:
hola, bueno agradesco por la publicacion estubo interesante
pero yo queria aplicar esto con un jeugo de aventura.
¿funcionaria igual no es asi?
bueno
gracias
suerte
Publicar un comentario