Change Entity Physics from Static to Box?
Posted: Thu Aug 01, 2013 9:13 pm
I'm trying to create a box that at first has a Static body. Then right before I create an Impulse I want to change it to
a Box body. It seems like I might be missing something. That or maybe this can't be done.
a Box body. It seems like I might be missing something. That or maybe this can't be done.
Code: Select all
;*****Press ESCAPE to Exit*****
;*****Press and release SPACE BAR For Changing of Body and Impulse*****
#CameraSpeed = 0.05
#CameraViewSpeed = 1
Define.f KeyX, KeyY, MouseX, MouseY
ExamineDesktops()
If InitEngine3D()
InitSprite()
InitKeyboard()
InitMouse()
DeskWid=DesktopWidth(0)
DeskHei=DesktopHeight(0)
OpenWindow(0, 0, 0, DeskWid, DeskHei, "Test", #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, DeskWid, DeskHei, 0, 0, 0)
EnableWorldPhysics(#True)
EnableWorldCollisions(#True)
CreateTexture(0,32,32)
StartDrawing(TextureOutput(0))
Box(0, 0, 32, 32 ,RGB(150,0,0))
StopDrawing()
CreateMaterial(0,TextureID(0))
CreatePlane(0, 100, 100, 100, 100, 1, 1)
CreateEntity(0, MeshID(0), MaterialID(0),0,0,0)
EntityPhysicBody(0, #PB_Entity_StaticBody, 0)
CreateCube(0,1)
CreateEntity(1,MeshID(0), MaterialID(0),0,0.21,0)
ScaleEntity(1,0.5,0.2,0.2,#PB_Absolute)
EntityPhysicBody(1, #PB_Entity_StaticBody, 0)
;EntityPhysicBody(1, #PB_Entity_BoxBody, 1)
WorldDebug(#PB_World_DebugBody)
; Camera
CreateCamera(0, 0, 0, 100, 100)
CameraRange(0, 0.08, 5000)
CameraBackColor(0, RGB(50,50,50))
MoveCamera(0,4.5, 1.2, 0,#PB_Absolute)
CameraLookAt(0, 0, 1.2, 0)
CreateLight(0, RGB(230,230,230), 1, 5, 4)
SetLightColor(0, #PB_Light_DiffuseColor, RGB(255,255,255))
AmbientColor(RGB(50,50,50))
WorldShadows(#PB_Shadow_Additive, 600, RGB(100,100,100))
Repeat
If ExamineMouse()
MouseX = -MouseDeltaX() * #CameraViewSpeed * 0.05
EndIf
If ExamineKeyboard()
If KeyboardReleased(#PB_Key_Space)
EntityPhysicBody(1, #PB_Entity_BoxBody, 1)
ApplyEntityImpulse(1, 0, 4, 4, 0, 0, 0)
EndIf
If KeyboardPushed(#PB_Key_Left)
KeyX = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Right)
KeyX = #CameraSpeed
Else
KeyX = 0
EndIf
If KeyboardPushed(#PB_Key_Up)
KeyY = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Down)
KeyY = #CameraSpeed
Else
KeyY = 0
MoveY = 0
EndIf
EndIf
MoveCamera (0, KeyX, 0, KeyY)
RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End