Situación, por ahora olviden lo de la curva:

El meteoro se dirige a la nave naranja.
Cuando la toca, su velocidad en el eje de las Y cambia al azar, pero comienza a ir hacia arriba.
Su velocidad en el eje de las X se ajustará para que se dirija a la mira, el circulo rojo.
Eso ya está, es así:
// Determinar velocidad Y al azar:
MeteorYSpeed = -Math.random()*(2+Dificultad)-1;
// Distancia Y desde el meteoro hasta el punto hacia donde se lo apuntó:
DistanciaY = Meteor._y-ApuntandoY;
// Cuánto tardará el meteoro en recorrerla:
TardanzaY = Math.ceil(DistanciaY/-MeteorYSpeed);
// Distancia X desde el meteoro hasta el punto hacia donde se lo apuntó:
DistanciaX = ApuntandoX+400-Meteor._x;
// Determinar la velocidad X para que el meteoro llegue...
// al punto X apuntado justo cuando llega al punto Y apuntado:
MeteorXSpeed = DistanciaX/TardanzaY;Quiero agregar que el meteoro pueda rotar como pelota y que como ella su trayectoria se curve, pero cada vez va rotando menos, ergo cada vez se curva menos. Entiendo que en el espacio no hay efecto así creo, es fantasioso.
Cuando el meteoro va rotando hacia la izquierda, su velocidad X disminuirá (porque el eje de las X disminuye a la izquierda), o sea puede volverse negativa o serlo más si ya era.
La rotación no afecta la velocidad Y. Quizá en la realidad girarse sí afectaría, acá no, curvarse no es que cambie de dirección, es que aumenta la velocidad hacia un costado.
El código ahora tendría esto al inicio:
MeteorRotation = Math.random()*(180+Dificultad)*(2*random(2)-1);
Ahora que me doy cuenta, quizá sumar a 180 no tiene sentido, pero eso es otro tema que veré luego, la cosa es que eso resulta un número negativo, 0 o positivo.
Esto pasa cuando el meteoro se mueve, o sea, en cada "tic":
MeteorXSpeed = MeteorXSpeed+MeteorRotation/1000*MeteorYDirection;
MeteorRotation = MeteorRotation/1.01;
Meteor._x = Meteor._x+MeteorXSpeed;MeteorYDirection es 1 creo, su función no tiene mucho que ver aquí, es para que se rote para un lado u otro según si está moviéndose hacia abajo o hacia arriba.
Entonces, considerando que su trayectoria cambiará, necesito que se ajusten los cálculos de MeteorXSpeed:
DistanciaX/TardanzaY
Si el meteoro se rotará a la izquierda, habrá que restarle, si la mira está a la izquierda del meteoro.
En fin, es difícil. La pérdida de rotación la pueden ignorar en principio, a altas velocidades no se aplicará mucho porque funciona por "tic" no por distancia recorrida.