I updated this sprite test but I don't know why my sprite is opaque now.
[solved]
Code: Select all
DisableExplicit
UsePNGImageEncoder()
UsePNGImageDecoder()
InitSprite()
win=OpenWindow(#PB_Any, 0, 0, 610, 410, "PB 5.20b - Sprite alphablending",
#PB_Window_SystemMenu |
#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(win), 5, 5, 600, 400, 0, 0, 0, #PB_Screen_NoSynchronization)
img=CreateImage(#PB_Any, 200, 200, 32, #PB_Image_Transparent) ;<---- sprite source image is transparent
If StartDrawing(ImageOutput(img))
DrawingMode(#PB_2DDrawing_Gradient|
#PB_2DDrawing_AlphaBlend|
#PB_2DDrawing_Transparent)
BackColor(RGBA(255, 255, 255, 255))
GradientColor(0.3, RGBA(255, 100, 0, 100))
FrontColor(RGBA(255, 0, 0, 0))
CircularGradient(150, 100, 100)
Circle(100, 100, 100)
StopDrawing()
*imgMemory=EncodeImage(img, #PB_ImagePlugin_PNG, 10, 32)
If *imgMemory
flare=CatchSprite(#PB_Any, *imgMemory, #PB_Sprite_AlphaBlending) ;<---- enable alphablending
flare2=CopySprite(flare, #PB_Any, #PB_Sprite_AlphaBlending)
EndIf
EndIf
Repeat
ClearScreen(#Black)
RotateSprite(flare, 0.1, #PB_Relative)
DisplayTransparentSprite(flare, 200, 100) ;<---- draw sprite with alphablending
RotateSprite(flare2, 0.1, #PB_Relative)
DisplayTransparentSprite(flare2, 50, 50)
FlipBuffers()
Until WindowEvent()=#PB_Event_CloseWindow