在pygame中,我尝试使每次射击都对我的僵尸产生影响时将其点数增加1000,这些僵尸的位置为zhot [XX]和zhot [YY]。我试图通过在僵尸周围创建一个矩形并使用碰撞点功能来实现此目的,但是当我的镜头穿过该矩形时,其位置的每一次变化都计为1000点,因此拍摄一个僵尸会给我30000点。我怎样才能解决这个问题?

for shot in shots:
    zomrect2=Rect(zhot[XX],zhot[YY],49,38)
    if zomrect2.collidepoint(shot[X],shot[Y]):
        points+=1000

最佳答案

授予分数后,您需要。

for shot in shots:
    zomrect2=Rect(zhot[XX],zhot[YY],49,38)
    if zomrect2.collidepoint(shot[X],shot[Y]):
        points+=1000
        break #no more points will be awarded, there's no point wasting computation checking the rest.

关于python - 如何在矩形中产生击球冲击,仅输出一个事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10963272/

10-11 08:48