Panda3d Showbase类错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Panda3d Showbase类错误相关的知识,希望对你有一定的参考价值。

我只是在python上使用panda3d,直到遇到panda3d文件夹中的showbase.py模块的问题(在site-packages中./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源代码树复制到site-packages中的panda3d包中。这不是熊猫的意图。 direct树应该是一个单独的包,不应该插入干扰的src目录。

此外,你在Showbase.__init__中有一个大写错误,应该是ShowBase.__init__

以上是关于Panda3d Showbase类错误的主要内容,如果未能解决你的问题,请参考以下文章

Panda3D绘制立方体

了解Panda3D引擎的配置变量

认识panda3d点光源

stringstream 的 showbase 和前导零

showbase无法显示基数符号问题的解决

showbase无法显示基数符号问题的解决