play a bit with this snippet:

Code:
var current_angle = 10;
var rotation_active = 0;

Function Camera_fnc
{
     Var Temp_var;
     Temp_Var=current_angle+360;
     
      camera.x = sin(current_angle) * 3500;
      camera.y = cos(current_angle) * 3500;
      camera.z = 2030;
      vec_diff(temp,midpoint_ent.x,camera.x);
      vec_to_angle(camera.pan,temp);
      
      
     while (mouse_middle==1)
     {
      current_angle = min(current_angle + mouse_force.x*time_step*6,temp_var);
      
      camera.x = sin(current_angle) * 3500;
      camera.y = cos(current_angle) * 3500;
      camera.z = 2030;
      
      vec_diff(temp,midpoint_ent.x,camera.x);
      vec_to_angle(camera.pan,temp);      
      wait(1);
     }


   wait(1);
 
}

on_mouse_middle=camera_fnc();




Tutorials:
[Blender]Terrain creation ENG/GER
[Blender]Low Poly Tree Modeling
[GIMP]Create a Texture for Terrains
CLICK HERE