Code : Tout sélectionner
If PlayerSpeed <> 0
MoveEntity(Player, 0, 0, PlayerSpeed, #PB_Absolute|#PB_Local)
EndIf
Par contre si j’enlève la condition le cube bouge bien !
Un exemple de code.
Code : Tout sélectionner
EnableExplicit
Enumeration
#Mainform
EndEnumeration
Global WindowStyle.i=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered
Global Event.l
Global Camera, Player, PlayerSpeed.f
Procedure Load_Scene()
Protected Texture, Material, Mesh, Entity
; Material
Texture = CreateTexture(#PB_Any,512,512)
StartDrawing(TextureOutput(Texture))
Box(0,0,512,512,RGB(0, 0, 0))
Box(1,1,510,510,RGB(255, 216, 0))
StopDrawing()
Material = CreateMaterial(#PB_Any,TextureID(texture))
;
; Ground
Mesh = CreatePlane(#PB_Any, 100, 100, 3, 6, 6, 6)
Entity = CreateEntity(#PB_Any, MeshID(Mesh), MaterialID(Material), 0, 0, 0)
EntityPhysicBody(Entity, #PB_Entity_StaticBody, 2, 0, 1)
;
; Player
Mesh = CreateCube (#PB_Any, 1)
Player = CreateEntity(#PB_Any, MeshID(Mesh), #PB_Material_None, 0, 1, 0)
EntityPhysicBody(Player, #PB_Entity_BoxBody, 1, 1, 0)
;
; Ambience
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)
;
; camera
Camera = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(Camera, RGB(145, 182, 201))
MoveCamera(Camera, 0, 500, 0, #PB_Absolute)
EndProcedure
Procedure Start()
InitEngine3D()
InitKeyboard()
InitSprite()
InitMouse()
OpenWindow(#Mainform,0,0,1024,768, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(#Mainform),0,0,1024,768,0, 0, 0)
KeyboardMode(#PB_Keyboard_International)
Load_Scene()
EndProcedure
start()
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event = 0
If ExamineKeyboard()
If KeyboardPushed (#PB_Key_Escape)
Break
EndIf
EndIf
If KeyboardPushed (#PB_Key_Up)
PlayerSpeed = - 1
ElseIf KeyboardPushed (#PB_Key_Down)
PlayerSpeed = 1
Else
PlayerSpeed = 0
EndIf
If KeyboardPushed (#PB_Key_Left)
RotateEntity(Player, 0, 1.5, 0, #PB_Relative)
ElseIf KeyboardPushed (#PB_Key_Right)
RotateEntity(Player, 0, -1.5, 0, #PB_Relative)
EndIf
If PlayerSpeed <> 0
MoveEntity(Player, 0, 0, PlayerSpeed, #PB_Absolute|#PB_Local)
EndIf
CameraFollow(Camera, EntityID(Player), 0, EntityY(Player) + 2, 6, 0.08, 0.08, #True)
; Render
ClearScreen(RGB(0, 0, 0))
RenderWorld(80)
FlipBuffers()
ForEver