Функция не работает при импорте файла - PullRequest
0 голосов
/ 09 марта 2019

Итак, у меня есть несколько файлов для разных функций, которые я использую для игры. Файл, с которым у меня проблемы, - это функция, которую я создал для добавления кнопок в игру. Я импортирую этот файл в другой файл, для которого требуется использовать функцию кнопки, но программа выдает сообщение «Кнопка не определена», когда она четко определена как функция из файла функции. Кто-нибудь знает, как это исправить?

Вот код кнопки:

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()

Функция кнопки работает, когда он находится в том же файле, но не работает, когда я импортирую его из другого файла, как если бы он не существовал, когда он есть.

...