
Wie mache ich einen Button ???
@N4SONIC: Womit denn? Das hier ist ja das Unterforum für alle GUI-Rahmenwerke für die es kein spezielles eigenes Unterforum gibt, also solltest Du vielleicht erwähnen welches Rahmenwerk oder welche Bibliothek Du verwendest.
Und die nächste Frage wäre dann wo das konkrete Problem liegt. Wie sieht Dein Code aus? Was funktioniert daran nicht?
Und die nächste Frage wäre dann wo das konkrete Problem liegt. Wie sieht Dein Code aus? Was funktioniert daran nicht?
@N4SONIC: Naja man muss halt prüfen ob der Benutzer die Maustaste drückt und falls ja ob sich der Mauszeiger innerhalb des Bereichs befindet der einen Button darstellen soll. Falls ja, macht man das was der Button halt so bewirken soll.
@BlackJack: Ich habe es hinbekommen danke 
Jetzt habe ich eine andere frage wie bekomme ich es hin das der Button das "HELLO" nur einmal ausgibt wenn ich ihn aktiviere ???

Jetzt habe ich eine andere frage wie bekomme ich es hin das der Button das "HELLO" nur einmal ausgibt wenn ich ihn aktiviere ???

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()
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich wusste doch, dass mir die Frage bekannt vor kam: http://www.python-forum.de/viewtopic.php?f=4&t=35712 

encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich habe es hinbekommen 
Ist der Code so gut oder kann man noch was verbessern ?

Ist der Code so gut oder kann man noch was verbessern ?

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()