Pregunta

Ya he pedido algo similar, pero ahora he el problema de gestionar y realizar un manejo "realista" para una sencilla 2d (top-down) juego de carreras de coches.

¿Cómo puedo hacer una dirección "realista" para el coche? (I utilizar C #, pero otro idioma es bienvenido;)) Usando seno y coseno? En caso afirmativo, ¿cómo? Gracias de antemano!

¿Fue útil?

Solución

Estoy en mi hora de almuerzo, así que no puedo hacer justicia a la tremenda respuesta "mejor", pero la apariencia de pseudocódigo algo como esto:

y_change = sin(rotation) * speed;
x_change = cos(rotation) * speed;

car.x += x_change;
car.y += y_change;

se ejecutaría este código en cada cuadro; rotación sería controlado por su entrada de dirección, y la velocidad sería controlado por su entrada de aceleración.

Otros consejos

Es probable que desee utilizar un motor de física que alguien ya ha creado. He oído cosas buenas sobre el API XNA Física .

Me imagino que tendrá que utilizar seno y el coseno, pero esa es la sólo la punta del iceberg de un gran ...

El algoritmo es:

  1. Registre cómo unidades de alguien else (utilizando prog. De versión del juego)

  2. (Opcional) separamos grabación en fragmentos para diversas situaciones habituales.

  3. Replay grabaciones en juego. (El uso de fragmentos adecuados y trayectoria posiblemente interpolar entre ellos).

También puede probar la lógica difusa y sencillo modelo de unidad de dirección.

Modelo sería:

x = integrate horiz_velocity by t
horiz_velocity = intergate steering_angle by t
and steering_angle = fuzzy_steering_function(...)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top