Mover un sprite sfml c

Hola a todos, tengo una duda en un truco que nos dieron en la universidad, es el siguiente. Tengo un sprite de una nave, y tengo unos cuantos sprites de unos objetos espaciales (rocas), la actividad consta en que la nave se mueva con un mruv (movimiento rectilíneo uniformemente variado) siguiendo el mouse, pero no que aparezca dónde está el mouse sino que lo siga, por ejemplo. Si mi mouse está en la posición x= 80 y= 80 y mi sprite de la nave en la posición x= 0 y= 0 la aceleración debería de ser 80 para el eje X y 80 para el eje y, tomando la aceleración en cada frame, así en caso de que en un frame el mouse se mueva o el sprite avance la aceleración varia, esto es lo que tengo de código hasta ahora en la parte de física.

Código:

////////////////////////////////////variables//////////////////////////////////////////////////. Float delta_t = 0.0f; //delta del tiempo, float posix = 400.f; //la posición en x. Float posiy = 300.f; //la posición en y, float vix = 0.0f; //velocidad x. Float viy = 0.0f; //velocidad y, float ax = 0.0f; //aceleración en el eje x. Float ay = 0.0f; //aceleración en el eje Y.
////////////////////////////////////////////////////////////////////////////////////////////////.
//limitamos los frames, app->setframeratelimit(60).
//calculamos delta_t y lo multiplicamos por 10 para que sea visiblemente más atractivo, delta_t = app->getframetime ().
//calculamos la distancia de la nave al mouse, ax = nave. Getposition().x - (in. Getmousex()), //calculamos la distancia, ay = nave. Getposition(), y - (in. Getmousey()), //calculamos la distancia.
//calculamos vix, viy, posix, posiy, viy = viy - (ax * delta_t).

Vix = vix - (ay * delta_t). Posix = posix + (vix * (delta_t)) + 0.5 * (ax) * ((delta_t) * (delta_t)). Posiy = posiy + (viy * (delta_t)) + 0.5 * (ay) * ((delta_t) * (delta_t)).

Nave. Setposition(posix, posiy).


.

Ver más sobre el tema y los comentarios en el foro