pygame中的碰撞问题

时间:2016-01-16 21:33:27

标签: python pygame

以下是我的代码示例:

if not pygame.sprite.collide_rect(yolo,blocks):



    screen.blit(moonCollect, [randomListX[i]-stageBackground_x, randomListY[i]])

我有两个精灵,现在只有在他们碰撞的时候,moonCollect才会消失。如何修复逻辑,以便在碰撞过程中和碰撞后不会出现moonCollect?

感谢任何帮助,并告诉我我是否不清楚 感谢

2 个答案:

答案 0 :(得分:1)

您可以创建一个变量来表示月亮是否曾与您的对象发生碰撞

isMoon = false
if pygame.sprite.collide_rect(yolo,blocks):
    isMoon = true

//when rendering
if (isMoon == false):
    screen.blit(moonCollect, [randomListX[i]-stageBackground_x, randomListY[i]])

这样,即使你的moonCollect没有与一个对象发生碰撞,但是在它过去的时候,它也不会被渲染。

答案 1 :(得分:0)

如果我理解你的问题,那么:

if pygame.sprite.collide_rect(yolo,blocks):

应该解决问题。

编辑: (这可能是错的,你用它的方式让我觉得你想要发生相反的事情)