Pygame, knopf und maus problem
Verfasst: Donnerstag 13. Dezember 2007, 14:47
Hallo Leute ich bin neu hier und ich habe mich hier registiert weil mein problem nicht auf dem Englischen Python-Forum geloest werden kann.
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...
Ich hoffe dass ihr mich helfen koennt, schon mal danke
(ich komme aus Holland und mein Deutsch ist nicht perfekt)
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)