我运行主模块,它应该可以正常工作。但是会返回错误。当我定义's = spaceship(parameters)'时未定义'spaceship',为什么我没有得到它。我正在将zelle图形用于python。谢谢
主模块的功能:
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()
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
答案 0 :(得分:1)
没关系,我看到了问题。请参考此示例以获取更多信息:
但是问题是您交叉导入的方式,因此从from spaceshipGame import *
删除spaceshipClass
或反之亦然(即从from spaceshipClass import *
删除spaceshipGame
)。如果需要在我提供的示例中喜欢,可以单独导入。
如果您阅读该示例,则还有很多其他解决方法。如果它们需要共享许多方法,最简单的方法之一就是将它们合并到同一文件中。