Pregunta

Estoy trabajando en un juego de mesa y estoy trabajando en el mecanismo para mover el balón. Si añado a 1 x la bola se mueve 1 píxel hacia la derecha, si añado 1 a y la bola se mueve 1 píxel a la parte inferior. ¿Qué pasa si quiero mover la pelota en un ángulo determinado cómo se puede calcular las coordenadas 1.

¿Fue útil?

Solución

Tratar de trabajar con ángulos va ser un poco más complicado de lo que necesita para obtener. Para este tipo de animación que generalmente quiere utilizar flotadores para almacenar sus objetos coordenadas X e Y y moverlo mediante la aplicación de X y deltas Y (Los flotadores preservarán el detalle de la posición que se pierde al redondeo cuando se dibuja en la pantalla). Los deltas representan la velocidad de su objeto se está moviendo en cada eje y puede ser negativo o positivo.

Para cada iteración de la animación, añadir xdelta a su coordenada x y añadir ydelta a su coordenada y. Redondéelos a la posición de ellos en la pantalla.

Al llegar a la frontera superior o inferior, debería cambiar el signo de su componente ydelta y del mismo modo para los bordes laterales.

Usted no quiere mantener la misma X e Y delta todo el tiempo por lo que cuando los objetos golpea una paleta, modificar el xoy delta un poco para cambiar el ángulo.

Otros consejos

que busca algoritmos de trazado de líneas, algo así como Bresenham o PDD se pueden encontrar algunas implementaciones razonables aquí supuesto lugar de dibujar una línea completa que le mueva su bola a lo largo de esa línea, pero la forma de encontrar el conjunto de líneas a seguir adelante es el mismo.

Usted puede encontrar estos recursos útiles.

para algo así como Pong se debería investigar matemáticas de vectores, pero si lo que quieres es conocer un ángulo todo lo que realmente necesita es SOHCAHTOA.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top