Проблема очень проста. Я хочу изменить Blendmode для моего средства визуализации SDL2 в Python, но я не знаю, как получить доступ к средству визуализации.
В документации PySDL2 указано, что вы можете определить цвета с помощью альфа-канала:
класс sdl2.ext.Renderer
режим наложения. Режим наложения, используемый для операций рисования (заливка и линия). Это может быть значение
. SDL_BLENDMODE_NONE для отсутствия смешивания
. SDL_BLENDMODE_BLEND для альфа-смешивания
. SDL_BLENDMODE_ADD для аддитивного смешения цветов
. SDL_BLENDMODE_MOD для многократного смешивания цветов
Все, что мне нужно, это установить режим наложения SDL_BLENDMODE_BLEND, чтобы я мог использовать альфа-каналы. Моя проблема в том, что я использую SoftwareSpriteRenderSystem.
self.Renderer = self.SpriteFactory.create_sprite_render_system(self.Window)
Здесь нет четкого способа изменить режим наложения. Я могу попробовать сделать следующее:
SDL_SetRenderDrawBlendMode(self.Renderer,SDL_BLENDMODE_BLEND)
Но это возвращает:
ArgumentError: argument 1: <type 'exceptions.TypeError'>: expected LP_SDL_Renderer instance instead of SoftwareSpriteRenderSystem
Может ли кто-нибудь помочь мне, пожалуйста? Я просто хотел бы получить несколько прозрачных спрайтов (спрайты from_rect), но это оказалось сложно, потому что SDL_renderer недоступен.