我想和pygame做特殊的碰撞.我有一个Ball精灵和一个Block精灵,我想知道球撞到了哪一侧.
也许它可能与pygame.sprite.groupcollide()
和一个自定义相撞,因为他们称之为.但是我找不到这个问题的答案.有什么办法吗?
解决方法:
对的,这是可能的.你对碰撞的论证也是正确的.
你需要做的是编写一个函数,它将获取2个精灵并返回一个布尔值.
在此功能中,您可以检查它们碰撞的哪一侧,并通知精灵碰撞,或者甚至仅在发生某种类型的碰撞时返回true.
由于每个精灵都有一个rect属性,你可以检查它们的移动方式以及它们的位置,以查看它们碰撞的位置.
例如,如果我们有两个精灵,A,B一个向上,另一个向左,它们可以以两种方式发生碰撞.您可以测试A是否从顶部发生碰撞,如果在碰撞后,第二个精灵高于A.