我正在尝试学习 PyMunk,我使用了网站上的基本示例:
import pymunk
space = pymunk.Space()
space.gravity = 0,-1000
body = pymunk.Body(1,1666)
body.position = 50,100
poly = pymunk.Poly.create_box(body)
space.add(body, poly)
while True:
space.step(0.02)
但它不创建窗口,也不显示任何内容。如何使用PyGame创建图形窗口?
该示例的作用是创建一个模拟,在其中添加一个盒形对象,然后无限地运行模拟。该代码不会打印或绘制任何内容,因此您实际上不会看到输出。为了更好地理解和屏幕上的内容,我建议您从教程开始:http://www.pymunk.org/en/latest/tutorials/SlideAndPinJoint.html
Pymunk 是一个二维刚体物理库,这意味着它所做的是模拟物体如何在二维中移动和相互作用。它不适用于在屏幕上绘图或读取输入。
您当然可以直接使用它,无需其他任何东西,只需打印出模拟结果即可。但更常见的是你想要在屏幕上绘制、读取输入等等。一种方法是使用游戏库 Pygame,它可以帮助绘制到屏幕、读取输入、进行游戏循环等。
Pymunk 本身确实有一些辅助函数,以便您可以轻松地将其与 Pygame(以及其他几个库)连接,但这不是核心部分。通常,当您想要一些快速的东西(例如原型)并且不需要自定义绘图时,这些辅助函数非常有用。
现在,这就是说,如果你想查看一些东西,你可以在 while 循环中添加一条 print 语句,所以它会变成这样:
while True:
space.step(0.02)
print(body.position)
然后它会打印出模拟的每一步球的位置,你可以看到它一直在变化(因为空间上设置的重力)。
Pymunk 中包含更高级的示例,它们既是交互式的,又可以在屏幕上显示一些内容。这些示例主要取决于 Pygame 或 Pyglet,但如果您想使用不同的库,原理是相同的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)