問題很簡單。我想在Python中更改我的SDL2渲染器的Blendmode,但我不知道如何訪問渲染器。如何訪問pySDL2 SoftwareSpriteRenderSystem Blendmode?
PySDL2 Documentation here的狀態,可以用Alpha信道定義的顏色:
類sdl2.ext.Renderer
的BlendMode:用於繪製 操作的混合模式(填充和線)。這可以是值爲
。無混合的SDL_BLENDMODE_NONE
。用於alpha混合的SDL_BLENDMODE_BLEND
。用於添加劑顏色混合的SDL_BLENDMODE_ADD
。 SDL_BLENDMODE_MOD的倍增混色
所有我需要的是將blendMode設置爲SDL_BLENDMODE_BLEND,這樣我就可以使用Alpha通道。我的問題是,我使用的是SoftwareSpriteRenderSystem
self.Renderer = self.SpriteFactory.create_sprite_render_system(self.Window)
沒有在這裏改變的BlendMode任何明確的方式。我可以嘗試執行以下操作:
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無法訪問。
您的問題不明確。你是否想要包含alpha通道的精靈,或者你想在基本的繪製和填充操作上混合? – Marcus 2014-09-01 11:02:15
@Marcus我想要有包含alpha通道的精靈。我使用'from_color'來創建我的基本形狀(不是from_rect我的壞),所以無論你設置透明度的精靈將是我所需要的。 – Micrified 2014-09-01 11:59:16