Seite 1 von 1
Epyx' FXLib mag keine Fenster?
Verfasst: 28.01.2008 18:42
von Bitpatcher
Hallo,
die Epyx' FX Lib crasht bei mir immer, wenn ich die Effekte in einem WindowedScreen nutzen möchte. Alles läuft einwandfrei an, dann friert das Programm ein und Vista meldet irgendwas von wegen "Farbschema wurde verändert. Die Einstellungen werden aber nicht unterstützt". Im FullScreen läuft die Lib einwandfrei.
Schade, da ich die Effekte unbedingt in einem Fenster zeigen möchte.
Mache ICH etwas falsch bzw. muß ich irgendetwas beachten, damit es schliesslich doch geht?
Bitpatcher
Verfasst: 28.01.2008 18:58
von scholly
Ich hab die Tage mal ein wenig damit herumgespielt und die Beispiele, die mich interessierten, in Fenster verlegt.
War eigentlich nicht schwer...
Vielleicht hilft es, wenn Du den Code hier einstellst, damit ihn andere testen können und nicht erst ihre Glaskugel suchen müssen

Verfasst: 28.01.2008 19:14
von Bitpatcher
Wenn der Beispielcode mit
OpenScreen...
beginnt, dann änder ich das in
OpenWindow (0,...
OpenWindowedScreen(WindowID(0)...
Verfasst: 28.01.2008 19:30
von scholly
Dann hast Du bestimmt noch die Repeat-Schleife mit dem Keyboard-Kram zum Abbrechen drin. Ging bei mir AFAIR damit auch nicht.
Vergleich mal diesen mit'm Original:
Code: Alles auswählen
;#*************************************************************#
;* *
;* Textscroll Example by Epyx / windowed by ugs *
;* Version for PB 4.2 / using 4.1 *
;* *
;#*************************************************************#
InitSprite()
EP_InitFXLib()
If OpenWindow(1, 0, 0, 660, 500, "A screen in a window...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(1), 10, 10, 640, 480, 0, 0, 0)
EP_LoadFont32(0,"Fonts/pix32 gold.bmp")
EP_LoadFont32(1,"Fonts/pix32silber2.bmp")
EP_LoadFont16(0,"Fonts/pix16 Silver.bmp")
EP_LoadFont8 (0 ,"Fonts/pix8 Goldfont.bmp")
EP_SetScrollText(0, "Yeaah this is a Example Scroller of the very useful PB FXLib by Epyx ")
EP_Create16Scroll(0, 0, 0,370, 105,350)
EP_Create32Scroll(0, 0, 1, 270)
EP_SetScroll32Speed(0, 3)
EP_Create32Scroll(1, 0, 0, 210)
EP_SetScroll32Speed(1, 2)
EndIf
EndIf
Repeat
ClearScreen(RGB(0,0,20))
EP_Move32Scroll(0)
EP_Move32Scroll(1)
EP_Move16Scroll(0)
EP_Display16Scroll(0, 0, 140)
EP_Display16Scroll(0, 320, 50)
EP_Display16Scroll(0, 200, 430)
FlipBuffers()
Until WindowEvent() = #PB_Event_CloseWindow
EP_FreeFont32(0)
EP_Close16Scroll(0)
EP_Close32Scroll(0)
CloseScreen()
End
BTW: Willkommen an (Pure)Board

Verfasst: 28.01.2008 20:07
von Bitpatcher
Oh ja, ich verstehe... danke!
Verfasst: 29.01.2008 08:37
von dige
Wenn Du einen WindowedScreen verwendest _musst_ Du Dich auch um die Window Events kümmern. Das heisst immer mal wieder mit WindowEvent() die Verarbeitung anschubsen. Wenn Du das nicht machst, ist Windows irgendwann der Meinung Dein Programm reagiere nicht mehr ...