Проблема столкновения с вражескими снарядами и здоровьем игрока - PullRequest
0 голосов
/ 18 июня 2020

поэтому я сделал этот короткий сценарий, когда мои вражеские снаряды сталкиваются с прямоугольником игрока, он должен удалить 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...