Вот мой кодПочему я не могу вызвать функцию из отдельного класса? Python
# import all the modules
from Fesnoria_Main import *
import pygame
# Setup
# change window settings
screen = pygame.display.set_mode((600, 600), pygame.RESIZABLE)
pygame.display.set_caption('Fesnoria - An epic journey.')
#define configuration variables here
HERO_MOVE_SPEED = 20 # pixels per second
MAP_FILENAME = 'resources/tmx/Fesnoria Town.tmx'
MUSIC_FILENAME = "resources/music/Forest_Song.mp3"
gamesetup = Main()
gamesetup.run()
Я хочу, чтобы вызвать функцию Run() внутри класса Main() в моем другом модуле питона Fesnoria_Main, который выглядит как этот
class Main(object):
def run(self):
print "start game"
Но когда Я запустить сценарий, я получаю сообщение об ошибке
NameError: name 'Main' is not defined
Но это явно определить, потому что я импортировал модуль в верхней части, а также в моем IDE он признает, что Main() является классом в модуле Fesnoria_Main
Итак, любые идеи о том, как я могу это исправить?
Что происходит, когда вы пытаетесь импортировать только Main? 'от Fesnoria_Main import Main' – Nhor
это просто догадка, но, возможно, вы не добавили модуль в пакеты __ init __.py в список __ all __? –
За исключением частей 'pygame', он работает так, как ожидалось, он печатает« начать игру ». Вероятно, вы должны опубликовать минимальный, полный, проверяемый пример (http://stackoverflow.com/help/mcve). – skyking