[4.41] 3D SetEntityMass()
Publié : dim. 21/mars/2010 22:53
Dans mon code précédent j'utilisais WorldGravity() pour empêcher mon objet de tomber, ceci était du au fait qu'il semble qu'une masse nulle appliquée à une entity provoque un crash.
Outre ce fait je dois dire que je reste assez circonspect sur le comportement d'entités aillant des masses très faibles au point que je me demande si ce paramètre est bien pris en compte.
Outre ce fait je dois dire que je reste assez circonspect sur le comportement d'entités aillant des masses très faibles au point que je me demande si ce paramètre est bien pris en compte.
Code : Tout sélectionner
EnableExplicit
Enumeration
#fenetre
#mesh
#entity
#camera
#light
EndEnumeration
InitSprite()
InitEngine3D()
InitKeyboard()
OpenWindow(#fenetre,0,0,640,480,"",#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(#fenetre),0,0,640,480,0,0,0)
EnableWorldPhysics(1)
;*************************************************
;WorldGravity(0)
;*************************************************
WorldDebug(#PB_World_DebugBody)
CreateCamera(#camera,0,0,100,100)
CameraLocate(#camera,0,2,5)
CameraLookAt(#camera,0,0,0)
CreateMesh(#mesh,0.5)
SetMeshData(#mesh,#PB_Mesh_Vertex|#PB_Mesh_Color,?points,8)
SetMeshData(#mesh,#PB_Mesh_Face,?faces,12)
CreateEntity(#entity,MeshID(#mesh),#PB_Material_None)
EntityPhysicBody(#entity,#PB_Entity_BoxBody)
;*************************************************
SetEntityMass(#entity,0)
;*************************************************
Repeat
Delay(1)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
FlipBuffers()
RotateEntity(#entity,1,1,0.3,#PB_Relative)
RenderWorld()
ForEver
DataSection
points:
Data.f -0.5,0,0.5
Data.l 0
Data.f 0.5,0,0.5
Data.l 0
Data.f 0.5,1,0.5
Data.l 0
Data.f -0.5,1,0.5
Data.l 0
Data.f -0.5,0,-0.5
Data.l 0
Data.f -0.5,1,-0.5
Data.l 0
Data.f 0.5,1,-0.5
Data.l 0
Data.f 0.5,0,-0.5
Data.l 0
faces:
Data.w 3,0,1,1,2,3
Data.w 0,3,4,3,5,4
Data.w 5,6,7,4,5,7
Data.w 6,2,7,1,7,2
Data.w 3,2,5,5,2,6
Data.w 4,1,0,7,1,4
EndDataSection