Here goes:
Sync On
Sync Rate 0
Make Object Box 1,1,1,1 `CAMERA DUMMY OBJECT
Make Object Sphere 2,50 `CENTER OBJECT
Color Object 2,RGB(200,0,0)
Zoom = 200 `ZOOM AMOUNT
Do
If MouseClick() = 2
Position Object 1,0,0,0
Rotate Object 2,Object Angle X(1)-MouseMoveY(),Object Angle Y(1)+MouseMoveX(),0
Move Object 1,Zoom
Position Camera Object Position X(1),Object Position Y(1),Object Position Z(1)
Point Camera 0,0,0
Endif
Sync
Loop
Not sure how to make the mouseclick() = 1 zoom in yet, you may have to use the main rotate code twice for each mouseclick, I'll try it and see.
EDIT - Yeah, thought so. Here's an updated bit of code, you can now rotate around the object with the right mouse button and zoom in with the left.
Sync On
Sync Rate 0
Make Object Box 1,1,1,1 `CAMERA DUMMY OBJECT
Make Object Sphere 2,50 `CENTER OBJECT
Color Object 2,RGB(200,0,0)
Zoom = 200 `ZOOM AMOUNT
Do
MouseMoveY() = 0
If MouseClick() = 2
Position Object 1,0,0,0
Rotate Object 2,Object Angle X(1)-MouseMoveY(),Object Angle Y(1)+MouseMoveX(),0
Move Object 1,Zoom
Position Camera Object Position X(1),Object Position Y(1),Object Position Z(1)
Point Camera 0,0,0
Endif
If MouseClick() = 1
Inc Zoom,MouseMoveY()/2
Position Object 1,0,0,0
Rotate Object 2,Object Angle X(1),Object Angle Y(1),0
Move Object 1,Zoom
Position Camera Object Position X(1),Object Position Y(1),Object Position Z(1)
Point Camera 0,0,0
Endif
Sync
Loop