You might be able to use some physics commands to achieve what you are trying to do. Here's a little example:
// set window properties
SetWindowTitle( "physicstest" )
SetWindowSize( 1024, 768, 0 )
// set display properties
SetVirtualResolution( 1024, 768 )
SetOrientationAllowed( 1, 1, 1, 1 )
SetPhysicsScale(0.015)
SetPhysicsGravity(0,2000)
// Create Ball Sprite
BallImg = LoadImage ("ball.png")
Ball = CreateSprite (BallImg)
SetSpriteSize (Ball,90,-1)
SetSpritePosition (Ball,50,102)
SetSpritePhysicsOn (Ball,2)
SetSpritePhysicsRestitution (Ball,0.5)
setSpriteShapeCircle (Ball,0,0,43)
setspritegroup(Ball,2)
do
if GetPointerstate ( ) = 1
x# = GetPointerX ( )
y# = GetPointerY ( )
gsh = getspritehitgroup(2,x#,y#)
gje = getjointexists (1)
if (gsh=ball) and (gje=0)
CreateMouseJoint (1,gsh,x#,y#,5000000)
endif
if (gje)
SetJointMouseTarget( 1, x#, y# )
endif
else
if (getjointexists(1))
DeleteJoint (1)
endif
endif
if (getrawkeyreleased(27) = 1)
end
endif
Print( ScreenFPS() )
Sync()
loop