Kamera

Posted By: Finn4040

Kamera - 11/04/12 15:16

Ich hab einen Code geschrieben mit dem man sich umgucken soll, aber das Problem ist man seinen Kopf mehrmals umdrehen. Hier ist der Code:


while (1)
{
mouse_pos.x = mouse_cursor.x;
mouse_pos.y = mouse_cursor.y;
camera.pan -= mouse_force.x;
camera.tilt += mouse_force.y;

wait (-0.002);
}

Kann man es schaffen das er an einer bestimmten Position aufhört sich nach links, rechts oben oder unten zu bewegen?
Posted By: Kartoffel

Re: Kamera - 11/04/12 17:40

clamp(...); ist hier richtig:

Code:
while (1)
{
	mouse_pos.x = mouse_cursor.x;
	mouse_pos.y = mouse_cursor.y;
	camera.pan -= mouse_force.x;
	camera.tilt += mouse_force.y;
	
	camera.tilt = clamp(camera.tilt, -90, 90); // auf -90° bis 90° begrenzen
	
	wait (-0.002);
}



btw. um code ansehnlicher zu posten verwende [code] am anfang und [/code] am ende

[EDIT] erklärung:

clamp(a, min, max); gibt die gegebene variable (a) - in diesem fall
camera.tilt - innerhalb des Bereichs von min bis max zurück.

Ist die variable also größer als max wird max zurückgegeben, ist sie
hingegen kleiner als min wird min zurückgegeben.

Ansonsten wird die Variable a unverändert zurückgegeben, da sie nicht
außerhalb des gegebenen Bereichs liegt.

EDIT#2: hab' gerade gesehen, dass du es ja auch auf horizontaler Ebene machen willst... in diesem Fall funktionert es aber auf die gleiche weise wink
© 2024 lite-C Forums