1

我正在尝试制作一个玩家向物体射击的游戏,并且当“子弹”击中物体时应该消失。对,这很好用,但现在我正在努力做到这一点,只有当子弹产生一定的力/冲动时,物体才会消失。有人知道怎么做吗?

目前,为了得到我正在做的碰撞:

collision_handler = space.add_collision_handler(1, 2)
collision_handler.begin = collision_happened
4

2 回答 2

0

您应该使用 post_solve 回调。在该回调中,您可以检查 arbiter.total_impulse 是否大于某个值。根据您的逻辑,您可能还想检查 arbiter.is_first_contact 是否为真。

于 2020-03-11T06:43:13.467 回答
0

这来自基于 C 的示例,但高度相关: https ://github.com/slembcke/Chipmunk2D/blob/master/demo/ContactGraph.c

几点注意事项:

  • 冲量以动量为单位,长度/delta_time 为您提供力。
  • 对于子弹,您可能需要动能。(pymunk 中的.total_ke)
于 2020-03-11T21:11:11.940 回答