Video sur un sprites!

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Video sur un sprites!

Message par Chris »

Quelqu'un a déjà réussi à faire fonctionner la commande RenderMovieFrame(), parce que pour moi, ça plante quelle que soit la manière dont le l'utilise.

Comme je n'ai trouvé aucune doc ou exemple concernant cette fonction, voilà le code que j'utilise.

Code : Tout sélectionner

#Window = 0
#Width = 600
#Height = 600

;- Initialisation de DirectX
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 Or InitMovie() = 0 Or InitSprite3D() = 0
  MessageRequester("Erreur", "Impossible d'initialiser DirectX", 0)
  End
EndIf

;- Ouverture de la fenêtre et de l'écran
hwnd = OpenWindow(#Window, 0, 0, #Width, #Height, #PB_Window_TitleBar | #PB_Window_ScreenCentered, "")
OpenWindowedScreen(hwnd, 0, 0, #Width, #Height, 0, 0, 0)

Movie$ = OpenFileRequester("Choisir votre film", "", "Fichiers vidéo|*.mpg;|All Files|*.*", 0)
If Movie$
  hMovie = LoadMovie(#PB_Any, Movie$)
  If hMovie = 0
    MessageRequester("Erreur","Format de fichier inconnu")
  Else
    Spr = CreateSprite(#PB_Any,MovieWidth(),MovieHeight(),#PB_Sprite_Texture)
    If Spr
      Spr3D = CreateSprite3D(#PB_Any,Spr)
    EndIf
  EndIf
EndIf

PlayMovie(hMovie,#PB_Movie_Rendered)

;- Début de la boucle
Repeat
  ClearScreen(0, 0, 0) : ExamineKeyboard() : FlipBuffers()
  
  RenderMovieFrame(Spr3D)
  
  Start3D()
  DisplaySprite3D(Spr3D,0,0)
  Stop3D()
  
  Delay(1)
  If KeyboardPushed(#PB_Key_Escape) : quit = 1 : EndIf
  While WindowEvent():Wend
Until quit = 1
Chez moi, ça plante à tous les coups :x
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

apres verif , chez moi aussi ça plante :D
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Message par Jacobus »

Testeur fou, j'ai essayé ta nouvelle Béta :)

premier essai, n'a pas voulu compiler faute d'initialisation du Film.

J'ai donc rajouté ça :

Code : Tout sélectionner

;- Ouverture de la fenêtre et de l'écran 
hwnd = OpenWindow(#Window, 0, 0, #Width, #Height, #PB_Window_TitleBar | #PB_Window_ScreenCentered, "") 
OpenWindowedScreen(hwnd, 0, 0, #Width, #Height, 0, 0, 0) 

Movie$ = OpenFileRequester("Choisir votre film", "", "Fichiers vidéo|*.mpg;|All Files|*.*", 0) 
If Movie$ 
  hMovie = LoadMovie(#PB_Any, Movie$) 
 ;***************************** 
  InitMovie = IsMovie(Movie$); <-Initialisation manquante à la compile
  If InitMovie<>0
 ;*****************************    
  If hMovie = 0 
    MessageRequester("Erreur","Format de fichier inconnu") 
  Else 
    Spr = CreateSprite(#PB_Any,MovieWidth(),MovieHeight(),#PB_Sprite_Texture) 
    If Spr 
      Spr3D = CreateSprite3D(#PB_Any,Spr) 
    EndIf 
  EndIf 
EndIf 
EndIf 
PlayMovie(hMovie,#PB_Movie_Rendered) 
De cette façon la compilation s'est bien faite et l'ouverture du film aussi.
Mais au bout de 2 secondes ... Crash !

Bon courage
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Répondre