За последние несколько дней я исправлял проблемы с моим кодом, так как я пытался добавить стартовый экран в свой код Pygame, я разобрал много ошибок, но я не мог понять, в чем делос этим.
Я использую имя переменной inactive в коде, чтобы вызвать его для цвета, который используется для «кнопок» на экране.
это полная ошибкаmessage
Traceback (most recent call last):
File "D:\Computing Homework\Programming Projects\pong development.py", line 8, in <module>
gameDisplay = pygame.display.set_mode([display_width,display_height,inactive,active])
NameError: name 'inactive' is not defined
Я пытался определить неактивное в разных местах кода, но без улучшения, я определил его в верхней части кода, и я перестал получать сообщение об ошибке, но это также означало, чтокогда я запустил код, ничего не появилось, даже не появилось окно для начального экрана и 0 ошибок, где выскочил.
Ниже приведен код с использованием неактивного:
def button(msg,x,y,width,height,active,inactive,action=None):
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
if ((x+width > mouse[0]) > x and (y+height > mouse [1] > y)):
pygame.draw.rect(gameDisplay, active,[x,y,width,height])
if click[0] == 1 and action != None:
if action == "play 1":
game_loop_one()
elif action == "play 2":
game_loop_two()
if x+width > mouse[0] > x and y+height > mouse[1] > y:
pygame.draw.rect(gameDisplay, active,(x,y,width,height))
else:
pygame.draw.rect(gameDisplay, inactive,(x,y,width,height))
smallText = pygame.font.Font("freesansbold.ttf",20) #defining the small text to be used on the buttons.
textSurface, textRect = text_objects(msg, smallText)
textRect.center = ( (x+(width/2)), (y+hight/2))
gameDisplay.blit(textSurface, textRect)
А вот функции, которые находятся вверху программы, если они необходимы для решения проблемы:
display_width = 640
display_height = 480
gameDisplay = pygame.display.set_mode([display_width,display_height,inactive,active])
pygame.display.set_caption('Ethong')
fps = 60
pygame.font.init()
font = pygame.font.Font('freesansbold.ttf',115)
clock = pygame.time.Clock()
pygame.display.set_caption('ethong')
green = (0,200,0)#base colours.
white = (255,255,255)#base colours.
black = (0,0,0)#base colours.
red = (255,0,0)#base colours.
blue = (0,0,255)#base colours.
bright_green =(0,255,0)#defining colours this will be used to make the button 'glows' when hoovered over.
Я ожидал, что стартовый экран запустится, а затем отобразит стартовый экран с названием игры и двумя кнопками, кнопки будут зелеными, а затем при наведении курсора они станут ярко-зелеными.
Вместо этого я застрял на ошибке, связанной с неактивным не определяется.