Je cherche à faire un truc super tout bête, mais ca déconne, et je vois pas pourquoi.
J'aimerais faire un écran de présentation pour un jeu que je développe.
Un 1er ecran fait apparaitre en fondu progressif mon pseudo, puis le fait disparaitre toujours en fondu ; un deuxieme ecran fait apparaitre cette fois un image aussi en fondu puis la fait disparaitre en fondu.
Mais, hic ! la 4eme phase ne marche pas, et je vois pas pourquoi.

Code : Tout sélectionner
Enumeration
#WIN
#FNT1
EndEnumeration
#LOGO1 =1005
#LOGO2 = 1006
#LOGO3 = 1007
#lgWin = 800
#htWin = 600
LoadFont(#FNT1,"Arial", 30, #PB_Font_HighQuality | #PB_Font_Bold)
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitSprite3D() = 0
MessageRequester("Erreur", "Initialisation Dx impossible",#PB_MessageRequester_Ok)
End
EndIf
Procedure Presentation()
temps = 20
FlipBuffers()
ClearScreen(255,255,255)
String$ = "Dionyzos présente"
For k=255 To 0 Step -8
StartDrawing(ScreenOutput())
DrawingMode(1)
DrawingFont(UseFont(#FNT1))
Locate((#lgWin - TextLength(String$)) / 2, (#htWin-100)/2)
FrontColor(k,k,k)
DrawText(String$)
Delay(temps)
StopDrawing()
FlipBuffers()
Next
For k=0 To 255 Step 8
StartDrawing(ScreenOutput())
DrawingMode(1)
DrawingFont(UseFont(#FNT1))
Locate((#lgWin - TextLength(String$)) / 2, (#htWin-100)/2)
FrontColor(k,k,k)
DrawText(String$)
Delay(temps)
StopDrawing()
FlipBuffers()
Next
ClearScreen(255,255,255)
FlipBuffers()
Delay(300)
CatchSprite(#LOGO1,?Logo)
CopySprite(#LOGO1,#LOGO2, #PB_Sprite_Texture)
TransparentSpriteColor(#LOGO2,255,255,255)
Start3D()
CreateSprite3D(#LOGO3,#LOGO2)
For k=0 To 255 Step 2
DisplaySprite3D(#LOGO3,(#lgWin-600)/2,(#htWin-256)/2, k)
FlipBuffers()
Delay(temps)
Next
FreeSprite3D(#LOGO3)
CreateSprite3D(#LOGO3,#LOGO2)
ClearScreen(255,255,255)
FlipBuffers()
Delay(1)
For k=0 To 255 Step 2
DisplaySprite3D(#LOGO3,(#lgWin-600)/2,(#htWin-256)/2, 255-k)
FlipBuffers()
Delay(temps)
Next
FreeSprite3D(#LOGO3)
Stop3D()
FreeSprite(#LOGO2)
FreeSprite(#LOGO1)
EndProcedure
;If OpenScreen(#lgWin,#htWin,32,"BomberMan")
If OpenWindow(#WIN,0,0,#lgWin,#htWin,#PB_Window_SystemMenu | #PB_Window_ScreenCentered,"Lune")
If OpenWindowedScreen(WindowID(),0,0,#lgWin,#htWin,1,0,0)
StartSpecialFX()
Presentation()
;boucle principale
Repeat
EventID = WindowEvent()
ExamineKeyboard()
Delay(1)
Until KeyboardPushed(#PB_Key_Escape) Or EventID = #PB_Event_CloseWindow
StopSpecialFX()
Else
MessageRequester("Erreur", "Echec de création de l'écran Dx",#PB_MessageRequester_Ok)
EndIf
Else
MessageRequester("Erreur", "Echec de création de la fenêtre principale",#PB_MessageRequester_Ok)
EndIf
End
DataSection
Logo:
IncludeBinary "lune.bmp"
EndDataSection
; IDE Options = PureBasic v3.94 (Windows - x86)
; CursorPosition = 57
; Folding = -
; EnableXP
Si qq'un comprend d'où vient le pb, je serais super joiasse
