Mit einer unsichtbaren Entity sollte das relativ einfach sein. Probier doch mal etwas wie folgt (funktioniert vllt nicht auf Anhieb):

Code:
VECTOR temp;
var camera_zoom_dist = 384;

action move_cam() 								
{
	set(my,UNLIT | PASSABLE);
	while(1) 											
	{
		vec_zero(temp);
		if(mouse_pos.x < 16 || key_cul) temp.y = -8;
		if(mouse_pos.x > screen_size.x-16 || key_cur) temp.y = 8;
		if(mouse_pos.y < 16 || key_cuu) temp.x = 8;
		if(mouse_pos.y > screen_size.y-16 || key_cud) temp.x = -8;
		vec_rotate(temp,my.pan);
		vec_scale(my.x,time_step);
		vec_add(my.x,temp);
		
		my.pan -= mouse_right*mouse_force.x*time_step;
		camera.pan = my.pan;
		camera.tilt = -65;
		camera_zoom_dist = clamp(camera_zoom_dist+mickey.z*0.5,64,512);
		vec_set(camera.x,vector(-camera_zoom_dist,0,0));
		vec_rotate(camera.x,camera.pan);
		vec_add(camera.x,my.x);
		wait(1); 										
	}
}



Damit solltest du die camera mittels Pfeiltasten oder Mauszeiger nahe Bildschirmrand bewegen, mit der rechten Maustaste rotieren und mit dem Mausrad zoomen können.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends