Das obige rotiert die Entity ziemlich abrupt, er wollte ja weich drehen.
Probier das mal:
function rotate_entity(var rotate_angle,var rotate_speed)
{
if(my.pan == rotate_angle) return;
result = ang(rotate_angle - my.pan);
if(result > 0) my.pan += rotate_speed * time_step;
if(result < 0) my.pan -= rotate_speed * time_step;
if(ang(rotate_angle - my.pan) < 0 && result > 0) my.pan = rotate_angle;
if(ang(rotate_angle - my.pan) > 0 && result < 0) my.pan = rotate_angle;
}
Ruf die so in der Action deiner Entity auf(im Loop):
...
VECTOR temp;
var temppan;
vec_set(temp.x,player.x);
vec_sub(temp.x,my.x);
vec_to_angle(temppan,temp.x);
rotate_entity(temppan,30);
...
Müsste klappen; Syntaxfehler vorbehalten, die Funktion rotate_entity ist original im Kingdom Hearts Movement Tutorial von David Lancaster zu finden.
Last edited by the_clown; 05/12/09 11:57.