Ich habe dass folgende problem:
Ich moechte etwas passieren lassen wenn ich mit der Maus ueber ein Bild gehe und dann MOUSEBUTTONDOWN druecke. Jedoch scheint die kollision nicht zu funktionieren...
Code: Alles auswählen
#Mouse event on image
#by lockwood
def kill_window():
pygame.display.quit()
pygame.quit()
return
import pygame
from pygame.locals import *
mouse_action = '0'
pygame.init()
#----------------display---------------------------
screen = pygame.display.set_mode((640, 480), 0, 32)
pygame.display.set_caption("button event by LOCKWOOD")
background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill((250, 250, 250))
#---------------images--------------------------------------
mouse_cursor = pygame.image.load("muis.png").convert_alpha()
button_1 = pygame.image.load("1.png").convert_alpha()
#-------------------font------------------------------------
debug_font = pygame.font.SysFont("arial", 16)
while True:
for event in pygame.event.get():
if (event.type == QUIT):
sys.exit(0)
elif (event.type == KEYDOWN):
if (event.key == K_ESCAPE):
exit(0)
#mouse position
x, y = pygame.mouse.get_pos()
pygame.mouse.set_visible(False)
rect_mouse_cursor = mouse_cursor.get_rect(pygame.mouse.get_pos())
rect_button_1 = button_1.get_rect(x, y)
collision_test1 = rect_button_1.colliderect(rect_mouse_cursor)
print collision_test1
#the debugger wich shows the mouse_action ('1'= True)
debug_mouse_surface = debug_font.render(mouse_action, False, (0, 0, 0))
#drawing
screen.blit(background, (0,0))
screen.blit(button_1, (0,100))
screen.blit(mouse_cursor, (x, y))
screen.blit(debug_mouse_surface,(0,48))
#display update
pygame.display.update()
(ich komme aus Holland und mein Deutsch ist nicht perfekt)