Animationen des Hintergrundes
Verfasst: 07.01.2009 19:20
Hi,
Ich benutze momentan ein Skin für mein Fenster und würde es gern mit Animationen versehn. Z.b.: ein gesicht das zwinkert.
Deswegen dacht ich mir ein bmp über den hintergrun des Fenster anzeigen zu lassen. Mit tranzparens: Nur der Code will nicht so recht. Und er leuft leider auch nicht mit SkinWin.
Ich will halt nur einen kleinen teil des Hintergrunds Animieren.
Versuchs Code:
Er zeigt ja die test das word "test" an das ich zum test anzeige. Aber mehr passiert nicht. Normaler weise müsste er alle 100 ms das word "test" an einer anderen position anzeigen.
Ich weis nicht ob das nit SkinWin gut währ jedesmal den kompleten hinter grund neu zu laden. Zumal das auch mehhre hintergrund bilder pro fenster währen.
Ich benutze momentan ein Skin für mein Fenster und würde es gern mit Animationen versehn. Z.b.: ein gesicht das zwinkert.
Deswegen dacht ich mir ein bmp über den hintergrun des Fenster anzeigen zu lassen. Mit tranzparens: Nur der Code will nicht so recht. Und er leuft leider auch nicht mit SkinWin.
Ich will halt nur einen kleinen teil des Hintergrunds Animieren.
Versuchs Code:
Code: Alles auswählen
Global window.l
Procedure createimage_(image)
hbimglist=CreateImage(image, 300, 200)
StartDrawing(ImageOutput(image))
DrawingMode(#PB_2DDrawing_Transparent)
BackColor(RGB(0,155,155))
FrontColor(RGB(255,0,0))
DrawText(100,100+Random(50),"test")
StopDrawing()
ProcedureReturn hbimglist
EndProcedure
Procedure Animation()
ptst.PAINTSTRUCT
himglist=ImageList_Create_(300,200,#ILC_COLOR8|#ILC_MASK,1,0)
ImageList_AddMasked_(himglist,createimage_(0),RGB(0,0,0))
hdc=BeginPaint_(window,@ptst)
ImageList_Draw_(himglist,0,hdc,100,100,#ILD_TRANSPARENT)
EndPaint_(window,@ptst)
ImageList_Destroy_(himglist)
EndProcedure
window = OpenWindow(0, 0, 0, 640, 480, "", #PB_Window_ScreenCentered )
Repeat
Delay(100)
Animation()
Until Event = #PB_Event_CloseWindowIch weis nicht ob das nit SkinWin gut währ jedesmal den kompleten hinter grund neu zu laden. Zumal das auch mehhre hintergrund bilder pro fenster währen.