这是我的代码
# 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()
我想在我的其他python模块Fesnoria_Main中的Main()类中调用函数run(),它看起来像这样
class Main(object):
def run(self):
print "start game"
但是当我运行脚本时出现错误
NameError: name 'Main' is not defined
但它显然是定义的,因为我在顶部导入了模块,并且在我的IDE中它识别出Main()是模块中的一个类Fesnoria_Main
关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
这个最小的例子对我有用:
文件:
Fesnoria_Main.py内容:
class Main(object):
def run(self):
print "start game"
bla.py内容:
# import all the modules
from Fesnoria_Main import *
gamesetup = Main()
gamesetup.run()
然后用:
运行它python bla.py
打印:
start game
所以我会尝试从这个最小的例子开始,然后回过头来找到你的错误。