Personally I use a pivot to deal with forces I find it much easier to move things around etc.
EG:
This has the added bonus that if you want to apply wind for example you just move all the physics pivots in the wind direction.
Same Example with a wind pivot:
EG:
Graphics3D 640,480 PlayerPhysicsPivot = CreatePivot() Player = CreateCube() Middle = CreatePivot() Camera = CreateCamera() PositionEntity camera,0,50,0 PointEntity camera,middle ; amount of force to apply to entity Force# = 0.2 Repeat If KeyDown(200) Then TranslateEntity PlayerPhysicsPivot,0,0,Force# If KeyDown(208) Then TranslateEntity PlayerPhysicsPivot,0,0,-Force# If KeyDown(203) Then TranslateEntity PlayerPhysicsPivot,-Force#,0,0 If KeyDown(205) Then TranslateEntity PlayerPhysicsPivot,Force#,0,0 ; Drag, the 0.1 is how much drag, the higher the figure the more drag (from 0 to 1) PointEntity PlayerPhysicsPivot,Middle MoveEntity PlayerPhysicsPivot,0,0,EntityDistance(PlayerPhysicsPivot,Middle)*0.1 TranslateEntity Player,EntityX(PlayerPhysicsPivot),EntityY(PlayerPhysicsPivot),EntityZ(PlayerPhysicsPivot) RenderWorld Flip Until KeyHit(1)
This has the added bonus that if you want to apply wind for example you just move all the physics pivots in the wind direction.
Same Example with a wind pivot:
Graphics3D 640,480 PlayerPhysicsPivot = CreatePivot() Player = CreateCube() Middle = CreatePivot() Camera = CreateCamera() ; Add a wind pivot Wind = CreatePivot() TurnEntity Wind,0,Rand(359),0 MoveEntity Wind,0,0,Rnd(0,.1) PositionEntity camera,0,50,0 PointEntity camera,middle ; amount of force to apply to entity Force# = 0.2 Repeat If KeyDown(200) Then TranslateEntity PlayerPhysicsPivot,0,0,Force# If KeyDown(208) Then TranslateEntity PlayerPhysicsPivot,0,0,-Force# If KeyDown(203) Then TranslateEntity PlayerPhysicsPivot,-Force#,0,0 If KeyDown(205) Then TranslateEntity PlayerPhysicsPivot,Force#,0,0 ; Add wind force TranslateEntity PlayerPhysicsPivot,EntityX(wind),EntityY(wind),EntityZ(wind) ; Drag, the 0.1 is how much drag, the higher the figure the more drag (from 0 to 1) PointEntity PlayerPhysicsPivot,Middle MoveEntity PlayerPhysicsPivot,0,0,EntityDistance(PlayerPhysicsPivot,Middle)*0.1 TranslateEntity Player,EntityX(PlayerPhysicsPivot),EntityY(PlayerPhysicsPivot),EntityZ(PlayerPhysicsPivot) RenderWorld Flip Until KeyHit(1)