没有定义“太空飞船”类(即使我已经导入了它?)

时间:2019-03-06 17:04:59

标签: python-3.x

我运行主模块,它应该可以正常工作。但是会返回错误。当我定义's = spaceship(parameters)'时未定义'spaceship',为什么我没有得到它。我正在将zelle图形用于python。谢谢

主模块的功能:

spaceshipGame文件

 from graphics import *
    from spaceshipClass import *

def main():
    window=createGraphicsWindow()
    runGame(window)


def createGraphicsWindow():
    win=GraphWin("Spaceship game",800,800)
    return win


def createSpaceship(window,p1,p2,p3,speed,colour):
    s=spaceship(window,p1,p2,p3,speed,colour)
    return s



def runGame(window):
    player=createSpaceship(window,Point(500,500),Point(500,470),Point(520,485),0.5,"red")
    player.draw(window)

main()

spaceshipClass文件

    from spaceshipGame import *
from graphics import *
class spaceship:
    def __init__(self,window,p1,p2,p3,speed,colour):
        self.p1=p1
        self.p2=p2
        self.p3=p3
        self.speed=speed
        self.colour=colour
        self.window=window

1 个答案:

答案 0 :(得分:1)

没关系,我看到了问题。请参考此示例以获取更多信息:

Simple cross import in python

但是问题是您交叉导入的方式,因此从from spaceshipGame import *删除spaceshipClass或反之亦然(即从from spaceshipClass import *删除spaceshipGame)。如果需要在我提供的示例中喜欢,可以单独导入。

如果您阅读该示例,则还有很多其他解决方法。如果它们需要共享许多方法,最简单的方法之一就是将它们合并到同一文件中。