首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Panda3d显示基类错误

Panda3d显示基类错误
EN

Stack Overflow用户
提问于 2017-12-18 11:53:42
回答 2查看 525关注 0票数 0

我只是在python上乞讨panda3d,直到showbase.py模块在panda3d文件夹(它在站点包中)遇到了问题。( /home/pi/.local/lib/python3.5/site-packages)我在一个树莓3B上跑步。Showbase.py的位置是/home/pi/.local/lib/python3.5/site-packages/panda3d/direct/src/showbase)

代码:

代码语言:javascript
复制
from panda3d.direct.src.showbase import *

class Window(ShowBase):

    def __init__(self):

        Showbase.__init__(self)

game = Window()
game.run()

我不打算给Showbase.py看,因为它有3025行长:

错误:

代码语言:javascript
复制
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

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2017-12-26 00:09:28

导入ShowBase类的正确方法是从direct.showbase包中的ShowBase模块导入它:

代码语言:javascript
复制
from direct.showbase.ShowBase import ShowBase

注意,模块名为ShowBase,其中的类也被命名为ShowBase,因此出现了复制。一个常见的错误是尝试导入模块而不是类。

从您的代码中可以看出,您已经将direct源代码树复制到站点包中的panda3d包中。熊猫不是这样被使用的。direct树应该是一个单独的包,不应该有一个中间的src目录。

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

票数 0
EN

Stack Overflow用户

发布于 2021-11-08 17:09:04

因此,您需要使用超级函数并从showBase类继承

代码语言:javascript
复制
from direct.showbase.ShowBase import ShowBase

class Window(ShowBase):
    def __init__(self):
        super().__init__()

app = Window()
app.run()

试试看

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47867954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档