在遵循这教程如何使用panda3d和python并编写一个简单的3d街机飞行游戏时,我在运行问题5中的代码时遇到了一个错误,该代码加载了一些2dGUI图片。控制台中的错误报告说:
内存外分配4016字节
已完成出口代码134的处理
在进行了相当多的搜索之后,我仍然不知道为什么会发生这种情况。GUI元素只有几千字节,加载更大文件的方式没有任何问题。
我在lubuntu上使用带有python2.7的panda3d v1.9 (安装了4GBRAM)。
任何帮助都是很有针对性的。
包含图像的完整源代码可以找到这里。
发布于 2015-10-10 13:43:26
虽然速度非常慢,但对我来说确实如此。稍微打探一下,您的world.bam文件似乎需要很长时间才能加载,因为它有很多顶点(看起来有数百万个顶点)和数千个单独的网格,因此它的构造效率相当低。
即使对.bam文件进行非常粗糙的预处理以减少绘制调用计数(通过加载、调用flattenStrong(),然后再将其写入),也会导致加载和呈现时间急剧减少。然而,即使在那时,它仍然是有问题的,因为程序现在正在测试每一个三角形与每个帧的碰撞。
在这样的飞行模拟器游戏中,使用地形引擎和/或着色器来根据高度图动态地改变地形拓扑是比较典型的。这也允许你测试高度图图像,以检查飞机是否在地面以下飞行,这比与单个三角形进行交叉检查要有效得多。
https://stackoverflow.com/questions/32995332
复制相似问题