Bonjour tout le monde !
Je me suis mis à la programmation d'un petit moteur de jeu vidéo 2d, type plateforme, en AS3, et je suis en train de réfléchir sur la meilleure façon de gérer une caméra.
J'avais programmé un jeu dernièrement, et j'avais géré la caméra en déplaçant tout le niveau. En gros :
- j'avais une classe Level, et je faisais un addChild du personnage et des entités du jeu.
- lorsque le personnage bougeait et qu'il atteignait une certaine limite, alors je faisais bouger le niveau en conséquence.
Mais je ne pense pas que ce soit la meilleure façon de gérer le déplacement d'une "caméra". Je me demandais s'il y avait moyen de déplacer l'écran principal (ce qui affiche ce que l'on voit) plutôt que le niveau, ou autre chose (je ne sais pas si je suis clair sur ce point la).
Ou alors je rajoute un niveau dans mon architecture, par exemple une classe Screen qui contiendrait mon objet Camera et ma classe Level. Je fixerai la caméra au niveau et j'aurai un attribut target qui correspondrait à l'entité qu'elle suivrait.
Est-ce une bonne idée ? Comment géreriez-vous une caméra ?
Nico
Partager