Programmation Orientée Jeux

Jeu de Platforme - Le Joueur

Gestion du joueur

Vous voilà déjà pas mal avancé ! Maintenant qu'il est possible d'importer/sauver/charger un niveau, je vous propose de rajouter un personnage permettant de se déplacer. Nous verrons ensuite comment établir un scrolling en fonction de la position du joueur.

1) Implementation et mise en place de l'architecture autour des entités

Voici la marche à suivre:

Après tous ces efforts, vous devriez (si tout s'est bien passé) pouvoir déplacer le petit Mario dans le niveau, et avoir un scrolling lorsque ce dernier est au centre de l'écran:

Le joueur marche ! Le joueur marche !

2) Fonctionnement

A ce niveau là, nous avons utilisé plusieurs éléments importants:

Ces 3 éléments sont totalement reliés. En effet, ils permettent de gérer et de créer des instances d'objet, tout en partageant des ressources (fichier XML et sprite PNG), et ce à partir d'un simple enum.

Lors de l'appel à Mario mario = factory.create(EntityType.MARIO);, la factory récupère la classe du type (getTargetClass), et l'instancie avec son setup correspondant, chargé au préalable par la factory lors de l'appel à load().

Ainsi, pour rajouter un nouveau type, il suffira de créer une nouvelle classe héritant de Entity, d'ajouter son type dans EntityType, en liant sa classe correspondante, d'ajouter son fichier XML et son image dans le dossier géré par la factory (entities/), et d'appeler la méthode create(type). Les cast sont réalisés automatiquement, ce qui évite d'alourdir le code inutilement.

L'intérêt d'avoir défini notre propre SetupEntity est de pouvoir rajouter facilement des liens vers d'autres composants. Actuellement seul un lien vers Map et un entier sont réalisés; mais si demain il faut une nouvelle dépendance, il suffira de la lier à la factory, qui la fournira à notre setup lors de sa création. Ainsi ce dernier sera accessible dans notre entité.


Lire la suite: Jeu de Plateforme - Les Collisions

Programmation Orientée Jeux ©2010-2014
Byron 3D Games Studio