Wie mache ich einen Button ???
Verfasst: Montag 16. März 2015, 14:16
Kann mir jemand ein beispiel schicken wie man ein Button erstellt der wenn man ihn anklickt eine Funktion ausgibt ? 

Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Code: Alles auswählen
import pygame
pygame.init()
window = pygame.display.set_mode((800,600))
pygame.display.set_caption("Window")
gameExit = False
green = (0,200,0)
class Button:
def __init__(self,x,y,h,w):
self.x = x
self.y = y
self.h = h
self.w = w
def update(self,window):
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
if click[0] == True:
print("HELLO")
if 400+100 > mouse[0] > 400 and 300+50 > mouse[1] > 300:
pygame.draw.rect(window, (100,150,50), (self.x, self.y, self.h, self.w))
else:
pygame.draw.rect(window, (125,100,50), (self.x, self.y, self.h, self.w))
button1 = Button(400,300,100,50)
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
window.fill((255,255,255))
button1.update(window)
pygame.display.update()
pygame.quit()
quit()
Code: Alles auswählen
import pygame
pygame.init()
window = pygame.display.set_mode((800,600))
pygame.display.set_caption("Window")
gameExit = False
green = (0,200,0)
def message():
print("Button Click!!!")
class Button:
def __init__(self,x,y,h,w,f):
self.x = x
self.y = y
self.h = h
self.w = w
self.f = f
def mouse_click(self):
click = pygame.mouse.get_pressed()
mouse = pygame.mouse.get_pos()
if 400+100 > mouse[0] > 400 and 300+50 > mouse[1] > 300:
if click[0] == 1:
self.f()
def mouse_effect(self):
mouse = pygame.mouse.get_pos()
if 400+100 > mouse[0] > 400 and 300+50 > mouse[1] > 300:
pygame.draw.rect(window, (100,150,50), (self.x, self.y, self.h, self.w))
else:
pygame.draw.rect(window, (125,100,50), (self.x, self.y, self.h, self.w))
def update(self):
self.mouse_effect()
button1 = Button(400,300,100,50,message)
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
if event.type == pygame.MOUSEBUTTONDOWN:
button1.mouse_click()
window.fill((255,255,255))
button1.update()
pygame.display.update()
pygame.quit()
quit()