[4.41] 3D Création BoxBody

Archive.
Azur
Messages : 40
Inscription : ven. 22/mai/2009 23:58

[4.41] 3D Création BoxBody

Message par Azur »

Ce bout de code crée un cube posé sur le sol
La création et l'affichage du boxbody montre que ce dernier est centré verticalement ( il ne repose pas sur le sol )

Notez que ce n'est pas le cas avec un staticbody

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)
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