В проекте pygame, над которым я работаю, спрайты персонажей и объектов отбрасывают тень на местность. И тень, и ландшафт являются обычными поверхностями pygame, поэтому, чтобы показать их, тень наносится на ландшафт. Когда другой тени нет (только одна тень и местность) все работает нормально, но когда персонаж входит в область тени, отбрасывая собственную тень, обе тени объединяют свои альфа-значения, еще больше скрывая местность. Я хочу избежать такого поведения, сохраняя стабильное значение альфа. Есть ли способ сделать это?
РЕДАКТИРОВАТЬ: это изображение, которое я сделал в Photoshop, чтобы показать проблему
EDIT2: ответ @sloth в порядке, но я забыл прокомментировать, что мой проект сложнее этого. Тени не целые квадраты, а больше похожи на «трафареты». Как и настоящие тени, они представляют собой силуэты объектов, от которых они отбрасываются, и поэтому им нужны альфа-каналы для каждого пикселя, которые несовместимы с цветовым ключом и целыми значениями альфа-канала.
Вот видео YouTube, в котором проблема показана немного яснее.