Bon, rien à faire
Voici le code
Ca ouvre une fenetre, si je passe ma souris sur la fenetre, j'ai le pointeur qui tourne
Si je clique plusieurs fois (genre 20) de suite dans la fenetre sans bouger => crash
Code : Tout sélectionner
If InitSprite()=0:MessageRequester("Oops!","Video could not be initialized, quitting!"):End:EndIf
If InitKeyboard()=0:MessageRequester("Oops!","Keyboard could not be initialized, quitting!"):End:EndIf
#scrx=640 ; résolution x de l'écran
#scry=480 ; résolution y de l'écran
#numstars=128 ; nombre d'étoiles par plan
#starplan=3 ; nombre de plans
Structure StarVars
star_x.l
star_y.l
star_speed.F
star_colour.l
EndStructure
Global Dim Stars.StarVars(#starplan,#numstars)
If FS=0
OpenWindow(1,0,0,#scrx,#scry,"",#PB_Window_ScreenCentered|#PB_Window_WindowCentered)
OpenWindowedScreen(WindowID(1),0,0,#scrx,#scry)
Else
OpenScreen(#scrx,#scry,32,"",#PB_Screen_WaitSynchronization,60)
EndIf
Procedure _2DStarfield()
For S=1 To #starplan
For F=0 To #numstars-1
Stars(S,F)\star_x=Random(#scrx)
Stars(S,F)\star_y=Random(480,0)
Next F
Next S
For F=0 To #numstars-1
Stars(1,F)\star_speed=3 : Stars(1,F)\star_colour=RGB(64,64,64)
Stars(2,F)\star_speed=4 : Stars(2,F)\star_colour=RGB(128,128,128)
Stars(3,F)\star_speed=5 : Stars(3,F)\star_colour=RGB(255,255,255)
Next F
EndProcedure
Procedure bouge2DStarfield()
For S=1 To #starplan
For F=0 To #numstars-1
Box(Stars(S,F)\star_x,Stars(S,F)\star_y,1,1,Stars(S,F)\star_colour)
Stars(S,F)\star_x-Stars(S,F)\star_speed
If Stars(S,F)\star_x<=0:Stars(S,F)\star_x=#scrx:EndIf
Next F
Next S
EndProcedure
_2DStarfield() ; creation du starfield
Repeat
ExamineKeyboard()
ClearScreen(RGB(0,0,0))
If StartDrawing(ScreenOutput())
bouge2DStarfield()
StopDrawing()
EndIf
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Autre chose, si je mets FS à 1 pour passer en fullscreen, cette fois ci ca plante sur If StartDrawing(ScreenOutput())
[14:54:17] Waiting for executable to start...
[14:54:17] Executable type: Windows - x86 (32bit, Unicode)
[14:54:17] Executable started.
[14:54:18] [ERROR] debug.pb (Line: 60)
[14:54:18] [ERROR] Invalid memory access. (read error at address 0)
Le message du debugeur indique comme si il n'arrivait pas à ouvrir un fullscreen en 32 bits en 640 pa 480 (alors qu'en 800 par 600 ca marche ...)
Je veux bien croire que cette résolution est hasbeen mais quand même, un pilote refuserait d'ouvrir un 640 par 480 en 32 bits ?