Chipmunk / Pymumk是否已经剔除了屏幕边界外的物体?

问题描述 投票:1回答:1

我发现只有under spatial hashing剔除碰撞。我指的是由3D图形库执行的那种背面剔除,其中任何不需要可见的东西都不会被渲染。

Chipmunk2D / Pymunk是否有任何规定不绘制不在屏幕范围内的对象,或者该用户是否必须自己实现它? 例如: enter image description here

红色矩形是屏幕边界。应该绘制所有蓝色对象,因为它们位于屏幕内。不应绘制绿色物体。

我希望debug_draw()有一个剔除功能。

ps:顺便说一下,如果我不使用debug_draw()进行绘图,那么绘制的另一种方式是什么?我没有看到draw()release_draw()功能。那么用户是否必须编写代码来单独迭代所有对象并绘制它们?我想这样可行,因为用户可以进行矩形交叉测试并决定要剔除哪些对象。也许debug_draw可以改名为drawAll()

chipmunk pymunk
1个回答
1
投票

调试绘制方法主要用于调试和快速原型设计,因此更高级的功能(如剔除)超出了其实现的范围。

如果您觉得自己受到调试绘图的限制,那么可能是时候过渡到您自己的绘图代码了,您可以完全控制它。模拟调试绘制自己做的应该很容易,一些示例代码做自定义绘图。

© www.soinside.com 2019 - 2024. All rights reserved.