Page 1 sur 1

probleme "insoluble"

Publié : ven. 24/mars/2006 18:06
par graph100
je ne comprend pas le probleme de ce code :

Code : Tout sélectionner

If InitEngine3D() = 0
  MessageRequester("Lancement échoué", "objet: InitEngine3D()")
  End
EndIf

If InitSprite() = 0
  MessageRequester("Lancement échoué", "objet: InitSprite()")
  End
EndIf

If InitKeyboard() = 0
  MessageRequester("Lancement échoué", "objet: InitKeyboard()")
  End
EndIf

If InitMouse() = 0
  MessageRequester("Lancement échoué", "objet: InitMouse()")
  End
EndIf

If OpenScreen(640, 480, 32, "essai 3d") = 0
  MessageRequester("Lancement échoué", "objet: OpenScreen(640, 480, 32, " + Chr(34) + "essai 3d" + Chr(34) + ")")
  End
EndIf

CreateCamera(0, 0, 0, 100, 100)
Add3DArchive("data\", #PB_3DArchive_FileSystem)

AmbientColor(RGB(255,255,255))
SkyDome("clouds.jpg", 10)

CreateMaterial  (0, LoadTexture(0, "Terrain_Texture.jpg"))
AddMaterialLayer(0, LoadTexture(1, "Terrain_Detail.jpg"), 1)
CreateTerrain("terrain.png", MaterialID(0), 4, 0.6, 4, 4)
CameraLocate(0, 128, 25, 128)

Repeat  
  
  ExamineMouse()
  ExamineKeyboard()

  RotateCamera(0, -MouseDeltaX(), -MouseDeltaY(), 0)
  
  If StartDrawing(ScreenOutput())
      Locate(0, 0)
      DrawText(Str(CameraX(0)))
      Locate(0, 20)
      DrawText(Str(CameraY(0)))
      Locate(0, 40)
      DrawText(Str(CameraZ(0)))
    StopDrawing()
  EndIf
  
  If KeyboardPushed(#PB_Key_W)
    MoveCamera(0, 10, 0, 0)
  EndIf
  If KeyboardPushed(#PB_Key_S)
    MoveCamera(0, -10, 0, 0)
  EndIf
  If KeyboardPushed(#PB_Key_A)
    MoveCamera(0, 0, 10, 0)
  EndIf
  If KeyboardPushed(#PB_Key_D)
    MoveCamera(0, 0, -10, 0)
  EndIf
  
  RenderWorld()
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)

End
voila .. ca doit etre tres simple mais je ne trouve pas

Publié : ven. 24/mars/2006 18:12
par wolfjeremy
Salut, pourrais-tu nous dire le problème exactement ? l'erreur renvoyer... :wink:

Publié : ven. 24/mars/2006 20:14
par graph100
le terrain n'apparait pas
c tout mais c embetant :(

Publié : ven. 24/mars/2006 20:33
par comtois
j'ai juste déplacé le CreateCamera() et ça fonctionne
J'en ai profité pour ajouter un KeyBoardMode(1)
ça permet d'utiliser le clavier français.
Enfin c'est peut-être pas ce que tu voulais faire ? tu n'auras qu'à changer les touches.

Si tu as une licence Purebasic , je te conseille d'utiliser la 3D de la v4 , même si c'est une beta , elle fonctionne quand même mieux que la 3.94 :)

Code : Tout sélectionner

If InitEngine3D() = 0
  MessageRequester("Lancement échoué", "objet: InitEngine3D()")
  End
EndIf

If InitSprite() = 0
  MessageRequester("Lancement échoué", "objet: InitSprite()")
  End
EndIf

If InitKeyboard() = 0
  MessageRequester("Lancement échoué", "objet: InitKeyboard()")
  End
EndIf

If InitMouse() = 0
  MessageRequester("Lancement échoué", "objet: InitMouse()")
  End
EndIf

If OpenScreen(640, 480, 32, "essai 3d") = 0
  MessageRequester("Lancement échoué", "objet: OpenScreen(640, 480, 32, " + Chr(34) + "essai 3d" + Chr(34) + ")")
  End
EndIf

KeyboardMode(1)

Add3DArchive("data\", #PB_3DArchive_FileSystem)

CreateMaterial  (0, LoadTexture(0, "Terrain_Texture.jpg"))
AddMaterialLayer(0, LoadTexture(1, "Terrain_Detail.jpg"), 1)
CreateTerrain("terrain.png", MaterialID(0), 4, 0.6, 4, 4)

AmbientColor(RGB(255,255,255))
SkyDome("clouds.jpg", 10)

CreateCamera(0, 0, 0, 100, 100)
CameraLocate(0, 128, 25, 128)


Repeat 
	ClearScreen(0,0,0)
 
  ExamineMouse()
  ExamineKeyboard()

  RotateCamera(0, -MouseDeltaX(), -MouseDeltaY(), 0)
 
  If StartDrawing(ScreenOutput())
      Locate(0, 0)
      DrawText(Str(CameraX(0)))
      Locate(0, 20)
      DrawText(Str(CameraY(0)))
      Locate(0, 40)
      DrawText(Str(CameraZ(0)))
    StopDrawing()
  EndIf
 
  If KeyboardPushed(#PB_Key_Z)
    MoveCamera(0, 10, 0, 0)
  EndIf
  If KeyboardPushed(#PB_Key_S)
    MoveCamera(0, -10, 0, 0)
  EndIf
  If KeyboardPushed(#PB_Key_Q)
    MoveCamera(0, 0, 10, 0)
  EndIf
  If KeyboardPushed(#PB_Key_D)
    MoveCamera(0, 0, -10, 0)
  EndIf
 
  RenderWorld()
  FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)

End

Publié : sam. 25/mars/2006 11:52
par graph100
alors il faut créé la camera en dernier ?
elle n'affiche pas ce qui est créé a pres elle ?