Epyx' FXLib mag keine Fenster?

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Bitpatcher
Beiträge: 10
Registriert: 19.01.2008 14:23

Epyx' FXLib mag keine Fenster?

Beitrag 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
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag 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 ;)
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
Bitpatcher
Beiträge: 10
Registriert: 19.01.2008 14:23

Beitrag von Bitpatcher »

Wenn der Beispielcode mit

OpenScreen...

beginnt, dann änder ich das in

OpenWindow (0,...
OpenWindowedScreen(WindowID(0)...
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag 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 :D
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
Bitpatcher
Beiträge: 10
Registriert: 19.01.2008 14:23

Beitrag von Bitpatcher »

Oh ja, ich verstehe... danke!
Benutzeravatar
dige
Beiträge: 1239
Registriert: 08.09.2004 08:53

Beitrag 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 ...
"Papa, ich laufe schneller - dann ist es nicht so weit."
Antworten