gpt4 book ai didi

python - pymunk - 是否有标准方法来为对象设置自定义重力?

转载 作者:太空宇宙 更新时间:2023-11-03 19:49:15 25 4
gpt4 key购买 nike

pymunk 文档写道,场景的重力“默认为 (0,0)。可以通过编写自定义集成函数在每个主体的基础上进行覆盖。”您将如何编写自定义集成函数来更改对象的重力(例如,如果梯子上有一个对象,我希望其重力为 0,但否则我希望该场景存在重力)?如果有影响的话,我仍然使用 python 2。

最佳答案

您可以通过编写自己的速度函数并将其设置在您想要自定义重力的对象的主体上来实现。

>>> import pymunk
>>> space = pymunk.Space()
>>> space.gravity = 0, 10
>>> body = pymunk.Body(1,2)
>>> space.add(body)
>>> def zero_gravity(body, gravity, damping, dt):
... pymunk.Body.update_velocity(body, (0,0), damping, dt)
...
>>> body.velocity_func = zero_gravity
>>> space.step(1)
>>> space.step(1)
>>> print(body.position, body.velocity)
Vec2d(0.0, 0.0) Vec2d(0.0, 0.0)

速度函数记录如下: http://www.pymunk.org/en/latest/pymunk.html#pymunk.Body.velocity_func

关于python - pymunk - 是否有标准方法来为对象设置自定义重力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59936466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com