所以我制作了这个简短的脚本,当敌人的弹丸与玩家碰撞时,它应该从我的80点生命值中移除1个并弹出子弹,但出于某种原因VIDEO,它的碰撞方式会大大破坏我的玩家生命如果我由于某些原因继续前进,则以最快的速度 我将弹丸的附着速度设置为5,但我不知道为什么它会持续物联网
for shootss in shootsright:
if shootss.rect.colliderect(playerman.rect):
if playerman.health > -5:
playerman.health -= 1
shootsright.pop(shootsright.index(shootss))
我不知道这与我的投射物有什么关系,但是在这里
if len(shootsright) < 1:
BULLET_SPEED = 5
start_x = round(enemyshoots1.x+enemyshoots1.width+30)
start_y = round(enemyshoots1.y + enemyshoots1.height+120)
target_x = playerman.x+playerman.width//2
target_y = playerman.y+playerman.width//2
delta_x, delta_y = target_x - start_x, target_y - start_y
distance = math.sqrt(delta_x ** 2 + delta_y ** 2)
dir_x = BULLET_SPEED * delta_x / distance
dir_y = BULLET_SPEED * delta_y / distance
distance = math.sqrt(dir_x**2 + dir_y**2)
if distance > 0:
shootsright.append(Boolss(start_x,start_y,(0,0,0),dir_x, dir_y))