Итак, у меня есть несколько файлов для разных функций, которые я использую для игры. Файл, с которым у меня проблемы, - это функция, которую я создал для добавления кнопок в игру. Я импортирую этот файл в другой файл, для которого требуется использовать функцию кнопки, но программа выдает сообщение «Кнопка не определена», когда она четко определена как функция из файла функции. Кто-нибудь знает, как это исправить?
Вот код кнопки:
def Button(Text, X, Y, Width, Height, Inactive_Colour, Active_Colour, Action = None):
Cursor = pg.mouse.get_pos()
Click = pg.mouse.get_pressed()
if X + Width > Cursor[0] > X and Y + Height > Cursor[1] > Y:
pg.draw.rect(Display, Active_Colour, (X, Y, Width, Height))
if Click[0] == 1 and Action != None:
if Action == "Quit":
pg.quit()
quit()
elif Action == "Controls":
Controls()
elif Action == "Play":
Game_Loop()
elif Action == "Main Menu":
Main_Menu()
elif Action == "Objective":
Objective()
else:
pg.draw.rect(Display, Inactive_Colour, (X, Y, Width, Height))
Text_To_Button(Text, Black, X, Y, Width, Height)
Вот код главного меню, который использует функцию кнопки из файла кнопки:
import pygame as pg
from Settings import *
from Buttons import *
from Text import *
def Main_Menu():
Main_Menu = True
while Main_Menu:
for event in pg.event.get():
if event.type == pg.QUIT:
pg.quit()
quit()
elif event.type == pg.KEYDOWN:
if event.key == pg.K_RETURN:
Main_Menu = False
elif event.key == pg.K_ESCAPE:
pg.quit()
quit()
Display.fill(White)
Message_To_Screen("RPG", Light_Green, -180, Size = "Large")
# Message_To_Screen("Press Return to play, P to pause, or Escape to quit.", BLACK, 180, Size = "Small")
Button("Play", 25, 500, 150, 50, Dark_Green, Light_Green, Action = "Play")
Button("Controls", 225, 500, 150, 50, Dark_Cyan, Light_Cyan, Action = "Controls")
Button("Objective", 425, 500, 150, 50, Dark_Yellow, Light_Yellow, Action = "Objective")
Button("Quit", 625, 500, 150, 50, Dark_Red, Light_Red, Action = "Quit")
pg.display.update()
Clock.tick(15)
Main_Menu()
Функция кнопки работает, когда он находится в том же файле, но не работает, когда я импортирую его из другого файла, как если бы он не существовал, когда он есть.