
Ich schreibe das jetzt bestimmt zum tausendsten Mal.
Code:
vec_set(camera.pan,player.pan);
vec_set(temp,vector(-DISTANZ,0,0)); //Bitte Werte einsetzen. Distanz ist der "Grundabstand". Muss negativ eingesetzt werden. Für den Z-Wert kannst du ggf. noch was einsetzen.
vec_rotate(temp,camera.pan); //Oder auch player.pan
vec_add(temp,player.x); //oder wer auch immer im zentrum sein soll
vec_set(camera.x,temp);
Für die Kollision ist das die einfachste Lösung
Code:
IF(c_trace(player.x,camera.x,ignore_me+ignore_passable)!=0) { //HINDERNIS!
vec_set(camera.x,target);
//vec_scale(normal,0.1); //Wenn dir die Bewegung nicht flüssig genug ist
vec_add(camera.x,normal); //Ein bisschen weg von der Wand
}
Bittesehr. Hätte man wahrscheinlich auch über die Suchfunktion gefunden
