поэтому я сделал этот короткий сценарий, когда мои вражеские снаряды сталкиваются с прямоугольником игрока, он должен удалить 1 из 80 моего здоровья и выстрелить пулей, но по какой-то причине здоровье игрока на большой скорости, если я продолжаю двигаться вперед по какой-то причине Я установил скорость добавления снарядов на 5, но я не знаю, почему он продолжает делать iot
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))