Для следующего кода возникает проблема. Я создаю главное меню для своей игры. Существует два варианта «Начать игру» и «Выход». Проблема у меня в том, что, когда я хочу нажать на стартовую игру, ничего не происходит.Меню pygame не работает?
Я получаю сообщение об ошибке сказав: «..„Модуль“объект не имеет атрибут„старт“, я не знаю, что это значит
я еще называют„бс“(Bubble Shooter) Это. мой основной код файла. Когда я нажимаю начало файла меню, как я могу получить его, чтобы перейти к файлу Bs, чтобы играть в эту игру? Спасибо за помощь!
import pygame, os, random, math
WINDOWWIDTH = 640
WINDOWHEIGHT = 480
STARTX = WINDOWWIDTH/2
STARTY = WINDOWHEIGHT - 27
BLUE = (0,0,205)
WHITE = (255,255,255)
BLUE = (0,0,205)
upper_border = pygame.Rect(12,44,448,20) #done this
right_border = pygame.Rect(440,60,20,448) #done this
left_border = pygame.Rect(12,60,20,648) # done this
down_border = pygame.Rect(12,280,448,20) #done this
class Option:
hovered = False
def __init__(self, text, pos):
self.text = text
self.pos = pos
self.set_rect()
self.draw()
def draw(self):
self.set_rend()
screen.blit(self.rend, self.rect)
def set_rend(self):
self.rend = menu_font.render(self.text, True, self.get_color())
def get_color(self):
if self.hovered:
return (255, 255, 255)
else:
return (100, 100, 100)
def set_rect(self):
self.set_rend()
self.rect = self.rend.get_rect()
self.rect.topleft = self.pos
pygame.init()
screen = pygame.display.set_mode((480, 320))
menu_font = pygame.font.Font(None, 40)
options = [Option("START GAME", (140, 105)), Option("QUIT", (205, 205))]
while True:
pygame.event.pump()
for option in options:
if option.rect.collidepoint(pygame.mouse.get_pos()):
option.hovered = True
else:
option.hovered = False
option.draw()
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
for option in options:
if option.hovered and option.text == "START GAME":
pygame.start()
pygame.display.update()
screen.fill((0,0,0))
pygame.draw.rect(screen,BLUE,upper_border)
pygame.draw.rect(screen,BLUE,right_border)
pygame.draw.rect(screen,BLUE,left_border)
pygame.draw.rect(screen,BLUE,down_border)
pygame.display.update()