以下是我的代码示例:
if not pygame.sprite.collide_rect(yolo,blocks):
screen.blit(moonCollect, [randomListX[i]-stageBackground_x, randomListY[i]])
我有两个精灵,现在只有在他们碰撞的时候,moonCollect才会消失。如何修复逻辑,以便在碰撞过程中和碰撞后不会出现moonCollect?
感谢任何帮助,并告诉我我是否不清楚 感谢
答案 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):
应该解决问题。
编辑: (这可能是错的,你用它的方式让我觉得你想要发生相反的事情)