panda3d中出错:引发异常(“尝试生成多个ShowBase实例!”)异常:尝试生成多个ShowBase实例

2024-09-30 06:12:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用panda3d,遇到了一个错误。我已经寻找了一段时间的答案,但我找不到。 这是我的错误:

 Known pipe types:
 CocoaGraphicsPipe
(all display modules loaded.)
<__main__.MyGame object at 0x7ff3653696d0>
Known pipe types:
  CocoaGraphicsPipe
(all display modules loaded.)
Traceback (most recent call last):
  File "3d.py", line 15, in <module>
    ShowBase().run()
  File "/Users/Munish/opt/anaconda3/lib/python3.8/site-packages/direct/showbase/ShowBase.py", line 423, in __init__
    raise Exception("Attempt to spawn multiple ShowBase instances!")
Exception: Attempt to spawn multiple ShowBase instances!

这是我的密码:

from panda3d.core import loadPrcFile
from panda3d.core import ConfigPageManager
print( ConfigPageManager.getGlobalPtr())
loadPrcFile('Config.prc')

from direct.showbase.ShowBase import ShowBase

class MyGame(ShowBase):
    def __init__(self):
        super().__init__()
    
game = MyGame()

print(base)
ShowBase().run()

这是我的Conifg.prc:

win-size 1280 720

我做错了什么。提前谢谢你


Tags: fromimportmodulesinit错误displayallpanda3d
1条回答
网友
1楼 · 发布于 2024-09-30 06:12:08

这里的问题是ShowBase是一个单身汉。这意味着在任何一个程序中只能创建它的一个实例或它的任何子类。在您的程序中,ShowBase将被实例化两次,第一次是这一行:

game = MyGame()

因为MyGame是ShowBase的一个子类

ShowBase的第二个实例如下:

ShowBase().run()

最后一行应该是:

game.run()

相关问题 更多 >

    热门问题