07sky 发表于 2021-3-27 18:59

按照书上写的,没有效果,求大神帮忙看看问题,程序不报错,没效果。

#程序没有报错,只是这个函数的前半部分定义的上管道矩形和下管道矩形没有起作用,导致下面判断的时候也没起作用。
def checkDead():

    upRect = pygame.Rect(pipeline.wallx,-300,pipeline.pineup.get_width()-10,pipeline.pineup.get_height())
    downRect = pygame.Rect(pipeline.wallx,500, pipeline.pinedown.get_width() - 10, pipeline.pinedown.get_height())

    if upRect.colliderect(bird.birdRect) or downRect.colliderect(bird.birdRect):
      bird.dead = True
    if not 0 <bird.birdRect[1]<height:
      bird.dead = True
      return True
    else:
      return False

tianyi1991 发表于 2021-3-27 22:04

学习一下

pansophy 发表于 2021-3-27 23:14

没头没尾的,也看不懂

07sky 发表于 2021-3-28 08:58

pansophy 发表于 2021-3-27 23:14
没头没尾的,也看不懂

colliderect()这个方法不太明白
这个就是定义了3个矩形框,上边一个,下边一个还有中间移动的一个
用这个colliderect()方法来判定移动的跟上下的矩形是否碰撞,结果没作用.....就是这个意思。
上下文跟这个关系不大的所以没有全贴出来
页: [1]
查看完整版本: 按照书上写的,没有效果,求大神帮忙看看问题,程序不报错,没效果。