gpt4 book ai didi

python - 如何让一击球撞击在一个矩形内只输出一个事件?

转载 作者:行者123 更新时间:2023-12-01 05:59:57 25 4
gpt4 key购买 nike

在 pygame 中,我试图让每次射击击中我的僵尸时我的分数增加 1000,僵尸的位置是 zhot[XX] 和 zhot[YY]。我尝试通过在僵尸周围创建一个矩形并使用 collidepoint 函数来实现此目的,但是当我的镜头穿过矩形时,其位置的每次变化都会计为 1000 分,因此射击一个僵尸会给我大约 30000 分。我该如何解决这个问题?

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

最佳答案

获得积分后,您需要打破 for 循环。

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com