Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Altitude simulée  (Lu 1967 fois)

0 Membres et 1 Invité sur ce sujet

CINEfilHD77

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Altitude simulée
« le: Juillet 10, 2014, 06:59:03 pm »
Bonjour à tous ! :)

Je suis sur un projet de jeu en vue top-down, pour ceux qui ne savent pas ce que c'est, c'est juste un jeu vu du dessus, comme celui-ci :

Or, étant donné ce type de vue, j'ai besoin de gérer des altitudes simulées.
Par exemple, disons que j'ai un hélicoptère au sol, mon personnage s'en empare, et décolle, puis va de plus en plus haut.
Ma logique était, vu que nous sommes dans un monde 2D, de gérer un z-index, pour dessiner sur la fenêtre les objets dans un ordre précis simulant des hauteurs différentes.
Donc, j'ai un ensemble de Calques contenant les Entités dessinables. Chaque Calque ne contient que les entités disposant du même z-index. L'ensemble des Calques est trié selon le z-index de chaque Calque.
Jusque-là, moi je suis partant, ça me fait mon truc, tranquillement, ça ne rame pas.
Mais, dans le traitement de l'exemple dont j'ai parlé plus haut (L'hélicoptère), cela signifierai qu'à chaque fois que l'hélicoptère monte/descend, je dois le transférer de Calque en Calque (Pointeurs, bien sur, pas copies).
Est-ce une bonne méthode ? Je ne voudrais pas continuer mon travail sur de trop mauvaises bases, et je n'ai rien trouvé à propos de ma question sur le Net...

Merci pour les réponses ! :)

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Altitude simulée
« Réponse #1 le: Juillet 10, 2014, 11:27:07 pm »
Pourquoi tu ne mets pas ton hélicoptère sur les deux calques et tu dessines que le calque actif ?

(En tout cas le jeu à l'air sympa  :) )

CINEfilHD77

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Re : Altitude simulée
« Réponse #2 le: Juillet 10, 2014, 11:49:29 pm »
En fait, je crois que c'est un problème de simulation d'un axe virtuel en plus des deux axes 2D.
On m'a conseillé, en admetant que je conserve une liste des Noeuds de Scène, à chaque frame, d'effectuer un tri sur cette liste selon le z-index, puis d'afficher la liste dans l'ordre, ainsi, ça évite d'avoir à créer/détruire des cellules de cette liste au cours du jeu... si quelqu'un a une meilleure solution, je suis preneur ! :)

C'est gentil, mais l'image ne vient pas de mon jeu, c'était pour illustrer ce qu'est une vue Top-Down, mais mon rendu est plutôt cool quand même, d'ailleurs quand j'aurai bien avancé, je posterai sur le forum :D

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Altitude simulée
« Réponse #3 le: Juillet 11, 2014, 01:43:43 am »
Oui finalement, je pense que c'est ce qu'il y a de plus simple, la STL possède une fonction de tri (std::sort) selon un paramètre donné, donc ici ton z-index.