Page 1 sur 1

Video sur un sprites!

Publié : mer. 01/déc./2004 19:37
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

Publié : mer. 01/déc./2004 22:56
par Backup
apres verif , chez moi aussi ça plante :D

Publié : jeu. 02/déc./2004 9:59
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