Ich will ehrlich sein, du bist mein Held!!!

Habe das jetzt so abgeändert
Code:
VECTOR temp;
camera.tilt = -35;
var camera_zoom_dist = 200;

action move_c()							
{
	set(my,UNLIT | PASSABLE);
	while(1) 											
	{
		vec_zero(temp);
		if(!mouse_right)
		{
			if(mouse_pos.x < 16) temp.y = 8;
			if(mouse_pos.x > screen_size.x-16) temp.y = -8;
			if(mouse_pos.y < 16) temp.x = 8;
			if(mouse_pos.y > screen_size.y-16) temp.x = -8;
			vec_rotate(temp,my.pan);
			vec_scale(temp,time_step);
			vec_add(my.x,temp);
		}
		else my.pan -= 8*mouse_force.x*time_step;
		camera.pan = my.pan;
		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); 										
	}
}



So macht es genau das was ich will.
Wenn ich an den Rand fahre, fährt die Camera in die Richtung.
Zoom klappt wie es soll
Und, wenn ich den Camera Pan verändere, kann ich dennoch Zoome und die Camera
fährt am Rand genau da in wohin sie es soll.
Muss halt noch den clamp für den Zoom anpassen sobald ich genau weis
wie der Bereich sein soll.

Darf ich dir kurz erläutern wie ich das verstanden habe und du sagst mir ob das richtig istß Würde mir echt helfen

1. klar Vector "temp" erstellen
2. die erstellte Entity unsichtbar und passierbar machen
3. Vector "temp" pro durchlauf wieder mit 0en auffüllen
4. wenn rechte Mausstaste nicht gedrückt
grob wenn maus Rand berührt dann setzte temp.x bzw. y auf 8 bzw -8
5. rotiere temp um pan von der entity
6. (verstehe ich nicht) wieso werden hier alle 3 Werte mal time_step genommen?
7. Entity X + Vector "temp" = entity.x (auch das geht mir nicht auf)

Der rest, also ab else betrifft j nur den Zoom oder?

Danke Superku,
bin der festen Überzeugung das ich dafür Monate gebraucht hätte

Grüße
Tirti