Nun habe ich mehrere Screen-funktionen um z.B den Mehrspieler oder Einzespieler screen zu zeigen. Da aber nur einer zur Zeit lufen soll habe ich eine Variabel, die immer aufgerufen wird, die dann ihren Wert auf die verschiedenen Funktionen ändern soll. Was aber nicht funktioniert.
Hier eine heruntergestockte Version meines Codes:
Code: Alles auswählen
import pygame
pygame.init()
screen = pygame.display.set_mode([100,50])
red = [255,0,0]
active = True
uhr = pygame.time.Clock()
def Button(function, size=[100, 50], position=[0,0]):
cur = pygame.mouse.get_pos()
cur_click = pygame.mouse.get_pressed()
#-------------testet einfach, ob die Maus in dem Feld des Buttons ist und ober er geklickt wird.----------------------
if cur_click[0] > 0 and size[0] +position[0] > cur [0] > position[0] and position[1] + size[1] > cur[1] > position[1]:
global menu
print menu
print function
exec (function)
def Test():
print "hi"
def Test2():
print "ok"
menu = Test
while active:
for event in pygame.event.get():
if event.type == pygame.QUIT:
active = False
uhr.tick(60)
Button("menu = Test2")
pygame.display.update()
pygame.quit()