Decir que tengo un objeto en el espacio 2D que puede girar y, a continuación, debe moverse de acuerdo a su ángulo de rotación.

Por ejemplo:

  • Si el ángulo es 0(apuntando hacia arriba), luego on_timer debe mover 1 y y 0 por X.

  • Si el ángulo es de 45, a continuación, se debe mover 1 y y 1 por X.

  • Apuntando 90 grados, luego 0 y y 1 por X.

  • Apuntando 135 grados, entonces -1 por Y, y +1 por X, etc.

¿Conoces alguna de las funciones para el cálculo de este?

  • Esta es una buena pregunta.
InformationsquelleAutor Rob | 2011-03-04

2 Comentarios

  1. 29

    bueno, parece que se mueven a diferentes velocidades para diferentes ángulos de incidencia.

    De 0 grados (hacia arriba) se movió por 1, pero 45 begrees se trasladó sqrt(1^2 + 1^2) = 1.41.

    Creo que usted quiere mirar el Pecado y Cos.

    X += Speed * Math.Cos(angle);
    Y += speed * Math.Sin(angle);

    Que Respecta A Gert-Jan

    • Gracias, tengo trabajo! 🙂 doble radianes = (Math.PI / 180) * ( este.orient – 90 ) ; este.CorX = Convert.ToInt16(este.CorX + 15 * Matemáticas.Cos(radianes)); de esta forma.CorY = Convert.ToInt16(este.CorY + 15 * Matemáticas.El pecado(radianes));

Dejar respuesta

Please enter your comment!
Please enter your name here