Plantage avec Engine3D()

Archive.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Plantage avec Engine3D()

Message par comtois »

J'ai repris un code de Chris , l'original est ici :
http://purebasic.hmt-forum.com/viewtopic.php?t=1177

et j'ai ajouté un InitEngine3D()

j'ai obtenu un plantage

par contre si je change cette ligne

hCont = ContainerGadget(#Cont,10,10,560, 480,#PB_Container_Double)

par

hCont = ContainerGadget(#Cont,10,10,560 + #Delta,480 + #Delta,#PB_Container_Double)

avec #Delta = 10 , cette fois ci le code passe bien .

Code : Tout sélectionner

#Delta = 10 ; <<<< Mettez 0 et observez 
#WINDOW = 0 
#Width = 600 
#Height = 600 

Enumeration 
  #Panel 
  #Cont 
  #Button 
EndEnumeration 

;- Initialisation de DirectX 
InitEngine3D()
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 
  MessageRequester("Erreur", "Impossible d'initialiser DirectX", 0) 
  CloseWindow(#WINDOW) : End 
EndIf 


;- Ouverture de la fenêtre et de l'écran 
hwnd = OpenWindow(#WINDOW, 0, 0, #Width, #Height, #PB_Window_TitleBar | #PB_Window_ScreenCentered, "") 
If CreateGadgetList(hwnd) 
  hPanel = PanelGadget(#Panel,10,10,580,580) 
  AddGadgetItem(#Panel,-1,"Onglet 1") 
  hCont = ContainerGadget(#Cont,10,10,560 + #Delta,480 + #Delta,#PB_Container_Double) 
  OpenWindowedScreen(hCont, 0, 0, 560, 480, 0, 0, 0) 
  
  AddGadgetItem(#Panel,-1,"Onglet 2") 
  ButtonGadget(#Button,100,100,100,100,"Bouton") 
EndIf 

If CreateSprite(1000,24,24) 
  StartDrawing(SpriteOutput(1000)) 
  Box(0,0,24,24,RGB($0,$0,$FF)) 
  StopDrawing() 
EndIf 

Dep = 8 

;- début de la boucle 

Repeat 
  Select WindowEvent() 
    
  EndSelect 
  
  FlipBuffers() : ClearScreen(0,0,0) 
  DisplaySprite(1000, x, 100) 
  
  x + Dep 
  If x >=536 Or x <=0 : Dep = -Dep : EndIf 
  
  ExamineKeyboard() 
Until KeyboardPushed(#PB_Key_Escape)