Aide pour route à la SimCity

Bonjour tout le monde, j’ai besoin de votre aide pour un problème que j’ai depuis vraiment long temps sans trouver de solution (6/7 mois) …
Alors voilà, j’aimerais que mon programme change l’animation de mes objets “routes” une fois celle-ci créée, mais avec certaines conditions, comme l’emplacement d’une ou plusieurs routes adjacentes.

Exemple:
ça (chaque carrée correspond à un objet “route”)

Deviens ça
(ici chaque objet “route” change d’animation et deviens ce qu’ils devraient être logiquement)

Avez-vous une idée de comment je pourrais procéder s’il vous plaît ?

Salut, (attention gros pavé) Lit d’abord le 2e paragraphe, je me suis trompé d’ordre. J’espère que ça t’aidera.

  1. Imaginons que le joueur peut créer ses routes dans le sens qu’il veut > il choisi quel bâton et le pose. Si tu veux que les batons s’arragent automatiquement en fonction de la position de la souris (lors du traçage de la route): tu compares la position du curseur et la position de la dernière route posé ainsi le type de bâton changera.

1)Tu peux utiliser 7 types de batons, un vertical, un horizontal, un qui tourne à droite, à gauche, en bas, en haut et une route de croisement. Chaque baton fera la taille d’une portion de route.
Ensuite tu mets en place ces batons en fonction de la route.
POUR CHAQUE OBJET “ROUTE”

Si “batonvertical” touché alors passer sur l’animation “horizontal”.
Si “batonhorizontal” touché alors passer sur l’animation “verticale”.
Si “batonhautdroit” touché alors passer sur l’animation “partduhautetvaàdroite”.
Tu fais ces mêmes événements pour chaque type de bâton.

Je rejoins Jeremylo1 sur le fait qu’il faudrait utiliser les collisions. Par contre, la simplicite doit rester un objectif, car il se peut qu’il y ai beaucoups de routes.

Pour ma part, je partirais plutot sur le principe d’un “marqueur orientation”. Ce marqueur serait un sprite d’une dimension de 1 x 1 pixel. A chaque creation de route, tu fais tourner ce pixel autour du troncon de route (1 tour est suffisant) :

  • a un angle de 0 deg : le pixel est t’il en collision ? si oui, cela veut dire qu’il y a une route de ce coté
  • a un angle de 90 deg : le pixel est t’il en collision ? si oui, cela veut dire qu’il y a une route de ce coté
  • a un angle de 180 deg : le pixel est t’il en collision ? si oui, cela veut dire qu’il y a une route de ce coté
  • a un angle de 270 deg : le pixel est t’il en collision ? si oui, cela veut dire qu’il y a une route de ce coté
    (tu peux meme faire les diagonales si tu veux)
    A la fin du tour, tu supprimes le pixel marqueur, et en fonction des collisions rencontrees tu peux savoir quelle est la bonne apparence a lui donner.

A tester :slight_smile:

Merci beaucoup pour votre aide, j’ai fais les pour et les contres et j’ai choisis une des solutions que je vous montrerais plus tard dans la demo :slight_smile:

Sa rend bien ? (Oui il manque encore le croisement avec 3 routes)

GG :slight_smile: