Originally Posted By: Richi007
@Pappenheimer:
schlechtes beispiel, der code ist unsicher!
Deine Kraft verändert sich auch im Betrag, für die Funktion braucht man vec_normalize!
Code:
VECTOR temp;
var force_x = 300;
vec_for_angle(temp, my.pan);
vec_normalize(temp, force_x);



rotiert die kraft force_x in x-y-z richtung so, dass der drache immer nach vorne fliegt.

Das ist etwas, was ich nicht verstehe.
Was ist daran unsicher?
Ich gehe davon aus, dass vec_for_angle immer eine Vektorlänge von 1 herausgibt, oder erwarte ich da etwas Falsches?
Ich sehe, dass es die Funktion Normalize gibt, und nehme an, dass das seinen Grund hat - aber welchen? laugh

EDIT:
Hatte grad nochmal einen Blick ins handbuch geworfen.
Also vec_for_angle liefert tatsächlich eine Länge von eins. "Creates a unit vector (a vector of length 1) pointing into the direction given by the angle. "
Das hieße, in diesem Falle dürfte an vec_scale nichts Problematisches sein, weil die Folge der Anweisungen immer vor dem vec_scale eine identische Länge vorausschickt.
Es wird erst zum Problem, wenn sich die Wetre auf"summieren" könnten. Richtig?

Last edited by Pappenheimer; 06/04/11 11:56.