我刚刚在python上开始panda3d,直到panda3d文件夹中的 showbase.py 模块遇到问题(在站点包中。/home/pi/.local/lib/python3.5/site-packages
) 我在树莓派 3B 上运行。Showbase.py 的位置是/home/pi/.local/lib/python3.5/site-packages/panda3d/direct/src/showbase)
法典:
from panda3d.direct.src.showbase import *
class Window(ShowBase):
def __init__(self):
Showbase.__init__(self)
game = Window()
game.run()
我不会显示 Showbase.py 因为它有 3025 行长:|
错误:
Traceback (most recent call last):
File "/home/pi/Desktop/Pandas3D/window.py", line 3, in <module>
class Window(ShowBase):
NameError: name 'ShowBase' is not defined
感谢您的任何帮助!
导入 ShowBase类的正确方法是从direct.showbase
包内的 ShowBase 模块导入它:
from direct.showbase.ShowBase import ShowBase
注意模块被命名为ShowBase
,其中的类也被命名为ShowBase
,因此重复。 一个常见的错误是尝试导入模块而不是类。
从您的代码来看,您似乎已将direct
源代码树复制到站点包内的panda3d
包中。 这不是熊猫的使用方式。direct
树应该是一个单独的包,并且不应该有一个干预src
目录。
此外,您在Showbase.__init__
中有一个大写错误,应该ShowBase.__init__
。
所以你需要使用一个超级函数并从showBase
类继承
from direct.showbase.ShowBase import ShowBase
class Window(ShowBase):
def __init__(self):
super().__init__()
app = Window()
app.run()
试试看