ich eine Taste Funktion in PyGame haben, und hier ist der Code dafür:Wie machen Taste nicht haltbaren pygame
def button(msg, x, y, w, h, ic, ac, action = None):
global mousedown
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
if x + w > mouse[0] > x and y + h > mouse[1] > y:
pygame.draw.rect(gameDisplay, COLORS[ic], (x, y, w, h))
if click[0] == 1 and action is not None:
mousedown = True
function = action()
return function
Das Problem, das ich habe, ist, wenn ich die Taste gedrückt halten, die Funktion übergeben Der Knopf wird solange wiederholt, bis die Maus unklickt. Gibt es eine Möglichkeit, das Problem zu beheben, so dass der Benutzer den Knopf nur einmal drücken kann und den Knopf loslassen muss, um die Funktion zu wiederholen?
Möchten Sie den Befehl bei jedem Spiel Schleife nicht, dass noch wiederholen, wenn die Taste gedrückt bleibt? – Sorade
Was Sie gesagt haben, ist "Gibt es eine Möglichkeit, es zu beheben, so dass der Benutzer den Knopf nur einmal drücken kann, und loszulassen und zu wiederholen, um die Funktion zu wiederholen?" Also ja, wenn Sie die Taste loslassen, müssen Sie erneut darauf klicken, um die Funktion zu erhalten. –