在单独的线程中运行Panda3D

时间:2019-03-21 16:18:54

标签: python multithreading panda3d

不幸的是,我是Python和Panda3D的初学者。到目前为止,我所做的就是尝试Panda3D功能,并以如下代码结尾构建一些示例世界:

base = ShowBase()
world = World()
base.run()

是否可以在另一个线程中启动Panda3D,同时让主线程为Panda3D世界中的对象计算运动数据?因此,该程序的主要任务是计算,此外,Panda3D世界还应以图形方式显示进度。

我试图让单独的线程执行上面的代码,但是我的主线程计算(分段错误)和Panda3D窗口(黑色窗口,无响应)都崩溃了。

class myThread (threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)

    def run(self):
        base = ShowBase()
        world = World()
        base.run()

t1 = myThread()
t1.start()

它们如何同时运行,以便两个线程之间可以通信?

1 个答案:

答案 0 :(得分:0)

您使用的是direct.stdpy而不是python线程包吗?

请参见https://docs.panda3d.org/1.10/python/programming/threading