0

我正在编写一个有两个进程的游戏。一种用于使用 OpenGL 进行渲染。另一个用于碰撞检测。这样我就可以使用多个内核。

但是,在没有打开显示器的情况下,我不能使用任何 pygame 表面。所以我不能使用位掩码来进行像素完美碰撞或任何其他碰撞。

我试图简单地打开另一个窗口,看看我是否可以让 Surfaces 工作,但我无法在没有 OpenGL 函数错误的情况下打开第二个 pygame 窗口。

您可以在两个单独的进程中使用 pygame 打开两个非 OpenGL 窗口,但我使用的是 OpenGL。

我想可能在某个地方我可以插入一个指向显示器的指针,以使表面停止显示Dead Display。我可以在第二个过程中操纵某种 SDL 变量来表示“它不是死在这里”。或者其他使用像素完美碰撞的方式。

我对不使用 pygame 的像素完美替代品持开放态度。

4

2 回答 2

1

200,渲染和碰撞相同的线程,相同的 cpu 应该没问题。此测试在没有四叉树的情况下循环,然后将其打开。

然后将阻塞代码(网络)移动到另一个线程。

引用运行示例:

发现高峰。这台电脑的性能不会比现在好。通常会有 359400 次碰撞检查,但这个四叉树将其减少到大约 241次碰撞检查

原文是 pygame.org但需要稍作修改:http ://pastebin.com/U371LaLy

在此处输入图像描述

于 2013-02-09T02:38:01.533 回答
0

我将使用pymunk。花栗鼠的蟒蛇端口。

一年多前,当我第一次开始编程时,我做了一个愚蠢的实验。这很容易。我只是完全忘记了它。

我无法让 pybox2d 在任何 python 版本中工作。

于 2013-02-11T07:04:22.700 回答