Page 1 sur 1

[Résolu] (GUI) : OpenWindow3D() ne fonctionne pas

Publié : mar. 09/juil./2013 23:40
par falsam
Je voulais tester la création d'une interface graphique. J'ai un premier souci, l'instruction OpenWindow3D() ne fonctionne pas (Donc pas d'affichage de la souris) et je ne vois pas ou est mon erreur.

Code : Tout sélectionner

Define.f CamX, CamY, MouseX, MouseY, RatioX, RatioY, SpeedRotate, CameraSpeed = 0.4

InitEngine3D()
InitKeyboard()
InitSprite()
InitMouse()

window = OpenWindow(#PB_Any,0,0,1024,768, "M", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(window),0,0,1024,768,0, 0, 0)

; Mesh
Cube_Mesh = CreateCube(#PB_Any, 1) 
Ground_Mesh = CreatePlane(#PB_Any, 20, 20, 3, 6, 6, 6)

; Materiel
Texture1 = CreateTexture(#PB_Any,512,512)
StartDrawing(TextureOutput(Texture1))
Box(0,0,512,512,RGB(0, 0, 0))
Box(1,1,510,510,RGB(255, 216, 0))
StopDrawing()
Material1 = CreateMaterial(#PB_Any,TextureID(texture1))

; Création du sol 
Ground_Entity = CreateEntity(#PB_Any, MeshID(Ground_Mesh), MaterialID(Material1), 0, 0, 0)
EntityPhysicBody(Ground_Entity, #PB_Entity_StaticBody, 2, 0, 1)

;
;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

;
; Une camera 
Camera = CreateCamera(#PB_Any,0,0,100,100)
CamX=2.0
CamY=5.0
KeyZ=15
MoveCamera(Camera, CamX, CamY, KeyZ, #PB_Absolute)  

Window3D = OpenWindow3D(#PB_Any, 100, 100, 300, 100, "")

Debug Window3D ; <== OpenWindow3D ne s'initialise pas 

;Affiche le GUI semi transparent et la souris
ShowGUI(128, 1) ; 

Repeat
  Repeat
    Event3D = WindowEvent3D()
  Until Event3D = 0
    
  If ExamineMouse()
    MouseX = -MouseDeltaX() * CameraSpeed * 0.05
    MouseY = -MouseDeltaY() * CameraSpeed * 0.05
    InputEvent3D(MouseX(), MouseY(), MouseButton(#PB_MouseButton_Left))
  EndIf
  
  If ExamineKeyboard()    
    If KeyboardPushed(#PB_Key_Escape)
      Break
    EndIf  
        
    If KeyboardPushed(#PB_Key_Left)
      CamX - CameraSpeed   
    ElseIf KeyboardPushed(#PB_Key_Right)
      CamX + CameraSpeed   
    EndIf
        
    If KeyboardPushed(#PB_Key_Up)
      CamY  -CameraSpeed   
    ElseIf KeyboardPushed(#PB_Key_Down)
      CamY + CameraSpeed   
    EndIf
  
  EndIf
  
  MoveCamera(Camera, CamX, CamY, KeyZ, #PB_Absolute)  
  
  CameraLookAt(camera,0,0,0)
  
  ; Affiche le rendu de la scène
  ClearScreen(RGB(0, 0, 0))
  RenderWorld()
  FlipBuffers()
ForEver
Merci d'avance pour vos explications.

Re: Interface graphique (GUI) : OpenWindow3D() ne fonctionne

Publié : mar. 09/juil./2013 23:50
par SPH
Ca le fait aussi chez moi.

ICI :

Code : Tout sélectionner

Define.f CamX, CamY, MouseX, MouseY, RatioX, RatioY, SpeedRotate, CameraSpeed = 0.4

If InitEngine3D()=0
  Debug "InitEngine3D() non activé"
EndIf
If InitKeyboard()=0
  Debug "InitKeyboard() non activé"
EndIf
If InitSprite()=0
  Debug "InitSprite() non activé"
EndIf
If InitMouse()=0
  Debug "InitMouse() non activé"
EndIf

window = OpenWindow(#PB_Any,0,0,1024,768, "M", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(window),0,0,1024,768,0, 0, 0)

; Mesh
Cube_Mesh = CreateCube(#PB_Any, 1) 
Ground_Mesh = CreatePlane(#PB_Any, 20, 20, 3, 6, 6, 6)

; Materiel
Texture1 = CreateTexture(#PB_Any,512,512)
StartDrawing(TextureOutput(Texture1))
Box(0,0,512,512,RGB(0, 0, 0))
Box(1,1,510,510,RGB(255, 216, 0))
StopDrawing()
Material1 = CreateMaterial(#PB_Any,TextureID(texture1))

; Création du sol 
Ground_Entity = CreateEntity(#PB_Any, MeshID(Ground_Mesh), MaterialID(Material1), 0, 0, 0)
EntityPhysicBody(Ground_Entity, #PB_Entity_StaticBody, 2, 0, 1)

;
;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

;
; Une camera 
Camera = CreateCamera(#PB_Any,0,0,100,100)
CamX=2.0
CamY=5.0
KeyZ=15
MoveCamera(Camera, CamX, CamY, KeyZ, #PB_Absolute)  

Window3D = OpenWindow3D(#PB_Any, 100, 100, 300, 100, "")

Debug Window3D ; <== OpenWindow3D ne s'initialise pas 

;Affiche le GUI semi transparent et la souris
ShowGUI(128, 1) ; 

Repeat
  Repeat
    Event3D = WindowEvent3D()
  Until Event3D = 0
    
  If ExamineMouse()
    MouseX = -MouseDeltaX() * CameraSpeed * 0.05
    MouseY = -MouseDeltaY() * CameraSpeed * 0.05
    InputEvent3D(MouseX(), MouseY(), MouseButton(#PB_MouseButton_Left))
  EndIf
  
  If ExamineKeyboard()    
    If KeyboardPushed(#PB_Key_Escape)
      Break
    EndIf  
        
    If KeyboardPushed(#PB_Key_Left)
      CamX - CameraSpeed   
    ElseIf KeyboardPushed(#PB_Key_Right)
      CamX + CameraSpeed   
    EndIf
        
    If KeyboardPushed(#PB_Key_Up)
      CamY  -CameraSpeed   
    ElseIf KeyboardPushed(#PB_Key_Down)
      CamY + CameraSpeed   
    EndIf
  
  EndIf
  
  MoveCamera(Camera, CamX, CamY, KeyZ, #PB_Absolute)  
  
  CameraLookAt(camera,0,0,0)
  
  ; Affiche le rendu de la scène
  ClearScreen(RGB(0, 0, 0))
  RenderWorld()
  FlipBuffers()
ForEver

Re: Interface graphique (GUI) : OpenWindow3D() ne fonctionne

Publié : mar. 09/juil./2013 23:53
par falsam
SPH a écrit :Ca le fait aussi chez moi.
Normal que tu es la même erreur. Mais ça ne me dit pas pourquoi.

Re: Interface graphique (GUI) : OpenWindow3D() ne fonctionne

Publié : mer. 10/juil./2013 7:01
par comtois
Il faut ajouter cette ligne

Code : Tout sélectionner

Add3DArchive("Data/GUI", #PB_3DArchive_FileSystem)

Re: Interface graphique (GUI) : OpenWindow3D() ne fonctionne

Publié : mer. 10/juil./2013 7:08
par falsam
Bonjour Comtois et merci pour cette réponse :)