Похоже, что присутствует только часть вашего кода, но я сделаю все возможное с тем, что доступно.
Похоже, все ваши маркеры имеют одну и ту же глобальную переменную facing
.facing
устанавливается в нижней части вашего кода.Затем, я полагаю, верхняя часть вызывается для каждого маркера, что означает, что все они будут использовать одно и то же значение facing
(независимо от того, какое значение было установлено при создании последнего маркера).
Однако онопохоже, что вы также храните эту переменную facing
внутри каждой пули, которая создается;см. строку внизу, которая начинается с bullets.append(projectile(...
Это значение просто не используется в настоящее время.Поэтому, проверяя расположение маркера в верхней половине, попробуйте использовать bullet.facing
(или как его там называть) вместо просто facing
.