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