pygam中的碰撞问题

2024-06-16 10:39:15 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是我的代码示例:

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



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

我有两个精灵,现在只有当它们碰撞时,moonCollect才消失。如何修正逻辑,使moonCollect不会在碰撞期间和碰撞后出现

感谢您的帮助,如果我不清楚,请告诉我。
谢谢


Tags: 代码rect示例ifnotyoloscreenpygame
2条回答

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

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没有与对象碰撞,但在过去,它也不会被渲染

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

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

应该可以解决这个问题

编辑: (这可能是错误的,你的措辞让我觉得你想让相反的事情发生)

相关问题 更多 >