Ich will ein .png mit Alpha-Channel auf den Screen zeichnen. Problem dabei ist, wenn ich es mit Alpha-Channel laden lasse, wird nix gezeichnet. Das Laden selbst klappt. Lade ich es ohne den Alpha-Channel wird es gezeichnet aber den Alpha-Channel will ich ja haben.
Hier ein lauffähiger Beispielcode den ich schnell zusammengehackt hab.
PureBasic 4.20
Code: Alles auswählen
EnableExplicit
Define.l ShipSprite,ShipSprite3D,EndGame
UsePNGImageDecoder()
InitSprite()
InitSprite3D()
InitKeyboard()
OpenScreen(1024,768,32,"Test")
ShipSprite = LoadSprite(#PB_Any,"player1.png",#PB_Sprite_Texture | #PB_Sprite_AlphaBlending)
ShipSprite3D = CreateSprite3D(#PB_Any,ShipSprite)
Repeat
Delay(10)
Start3D()
DisplaySprite3D(ShipSprite3D,100,100)
Stop3D()
FlipBuffers()
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape) <> 0
EndGame = #True
EndIf
Until EndGame = #True
Habe den Alpha-Channel mit gimp hinzugefügt.
