Here's a more interesting version of that code:
sync on
sync rate 60
make object cube 1,2
position object 1,0,20,0
make object sphere 2,2
position object 2,20,20,0
make object box 3,1,1,20
position camera 0,10,-60
point camera 0,10,0
xpos# = object position x(2)
ypos# = object position y(2)
zpos# = object position z(2)
xspeed# = 0
yspeed# = 2
zspeed# = 4
length# = 20
gravity# = 0.02
do
`Store old positions
oldx# = xpos#
oldy# = ypos#
oldz# = zpos#
`Move base by speeds
xpos# = xpos# + xspeed#
ypos# = ypos# + yspeed#
zpos# = zpos# + zspeed#
position object 2,xpos#,ypos#,zpos#
`Pull object back into rigid frame work (THIS IS A CHEAT!! USE MATHS INSTEAD. THIS METHOD
`IS CHEATING!! I'm just cutting corners!!!!)
point object 2,object position x(1),object position y(1),object position z(1)
position object 2,object position x(1),object position y(1),object position z(1)
move object 2,length#*-1
`Save New speed
xspeed# = object position x(2)- oldx#
yspeed# = object position y(2)- oldy#
zspeed# = object position z(2)- oldz#
`Take gravity from yspeed#
yspeed# = yspeed# - gravity#
`Save position to variables
xpos# = object position x(2)
ypos# = object position y(2)
zpos# = object position z(2)
`BAR
MidPointX# = 0.5*(object position x(1)+object position x(2))
MidPointY# = 0.5*(object position y(1)+object position y(2))
MidPointZ# = 0.5*(object position z(1)+object position z(2))
position object 3,midpointx#,midpointy#,midpointz#
point object 3,object position x(1),object position y(1),object position z(1)
sync
loop
Insiiiiiiiiiiiiiiiiiiiiiiiide!