Question

J'ai déjà demandé quelque chose de similaire, mais maintenant j'ai le problème à gérer et à réaliser un pilotage « réaliste » pour un simple 2d (top-down) jeu de course automobile.

Comment puis-je faire une direction « réaliste » pour la voiture? (J'utiliser c #, mais une autre langue est le bienvenu;)) En utilisant Sin et Cos? Si oui, comment? Merci à l'avance!

Était-ce utile?

La solution

Je suis sur ma pause déjeuner, donc je ne peux pas faire la justice énorme à la « meilleure » réponse, mais le pseudocode ressemble à quelque chose comme ceci:

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

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

exécuterait ce code dans chaque image; rotation serait contrôlé par votre entrée de direction et la vitesse serait contrôlé par votre entrée d'accélération.

Autres conseils

Vous voudrez probablement utiliser un moteur physique que quelqu'un d'autre a déjà créé. Je l'ai entendu de bonnes choses sur le XNA API Physique .

Je suppose que vous devrez utiliser sinus et cosinus, mais ce qui est juste la pointe d'un iceberg très grand ...

L'algorithme est:

  1. Enregistrer Sinon, comment les lecteurs de quelqu'un (en utilisant dev. Version du jeu)

  2. (Facultatif) Scinder enregistrement en extraits pour diverses situations habituelles.

  3. enregistrements Replay dans le jeu. (Utilisation des extraits appropriés et éventuellement trajectoire interpoler entre eux).

Vous pouvez également essayer la logique floue et simple modèle de l'unité de direction.

Modèle serait:

x = integrate horiz_velocity by t
horiz_velocity = intergate steering_angle by t
and steering_angle = fuzzy_steering_function(...)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top