Ich habe den Hauptcode für mein Spiel fertig und ich habe mit dem Erstellen eines Menübildschirms begonnen. Ich kann die Schaltflächen auf dem Bildschirm anzeigen, aber wenn ich irgendwo klicke, bekomme ich diese Error:Pygame Button getRect Collidepoint funktioniert nicht?
Wie kann ich über das beheben gehen? Wenn ich in dieser Frage nichts klar gemacht habe, sag es mir bitte, damit ich es klären kann. Vielen Dank!
Hier ist mein Code für die MENU-Seite:
import pygame
import random
import time
pygame.init()
#colours
white = (255,255,255)
black = (0,0,0)
red = (255,0,0)
green = (0,155,0)
blue = (50,50,155)
display_width = 800
display_height = 600
gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Numeracy Ninjas')
clock = pygame.time.Clock()
#Fonts
smallfont = pygame.font.SysFont("comicsansms", 25)
medfont = pygame.font.SysFont("comicsansms", 50)
largefont = pygame.font.SysFont("comicsansms", 75)
#Sprites
img_button_start = pygame.image.load('Sprites/Buttons/button_start.png')
img_button_options = pygame.image.load('Sprites/Buttons/button_options.png')
gameDisplay.fill(white)
pygame.display.update()
class Button(pygame.sprite.Sprite):
def __init__(self, image, buttonX, buttonY):
super().__init__()
gameDisplay.blit(image, (buttonX, buttonY))
pygame.display.update()
selfrect = image.get_rect()
def wasClicked(event):
if selfrect.collidepoint(event.pos):
return True
def gameIntro():
buttons = pygame.sprite.Group()
button_start = Button(img_button_start, 27, 0)
button_options = Button(img_button_options, 27, 500)
buttons.add(button_start)
buttons.add(button_options)
print(buttons)
#main game loop
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
print(event.pos)
#check for every button whether it was clicked
for btn in buttons:
print('forbtninbuttons')
if btn.wasClicked():
print('clicked!')
if event.type == pygame.QUIT:
pygame.quit()
In der Zukunft, stellen Sie sicher, den Fehler in der Frage zu schreiben, anstatt auf ein Bild des Fehlers zu verlinken. Die Verknüpfung mit Bildern reduziert die Suchfunktion und macht es für Benutzer mit Bildschirmleseprogrammen unmöglich, den Fehler zu hören. http://meta.stackoverflow.com/questions/303812/discourage-screenshots-of-code-and-or-errors –