diff --git a/doc/MoteurDeJeu.html b/doc/MoteurDeJeu.html index 6817b8124c5da592b4a6fd255f22edc65a45d744..a3bc5f705b9416303d40f70f9a591aabf20ded89 100644 --- a/doc/MoteurDeJeu.html +++ b/doc/MoteurDeJeu.html @@ -66,6 +66,7 @@ <li><a href="#vue-subjective">Vue subjective</a></li> <li><a href="#boucle-de-jeu">Boucle de jeu</a></li> <li><a href="#changement-du-contrôleur">Changement du contrôleur</a></li> +<li><a href="#ajouter-un-joueur">Ajouter un joueur</a></li> </ul></li> </ul> <h1 id="utilisation-basique">Utilisation basique</h1> @@ -200,6 +201,47 @@ if (collision==1) { <pre><code>public class MoteurPourDeux extends MoteurPhysique{ public MondePourDeux monde; ...</code></pre> +<ol start="5" type="1"> +<li>Enfin, dans la méthode principale :</li> +</ol> +<pre><code>// Création d'un contrôleur +ControleurClavier2 cClavier2=new ControleurClavier2(true); +// Ajout du contrôleur à la boucle +maBoucle.cClavier2=cClavier2;</code></pre> +<h2 id="ajouter-un-joueur">Ajouter un joueur</h2> +<p>Pour ajouter un joueur, il faut déjà faire une nouveau contrôleur pour le second joueur (voir section <a href="#changement-du-contrôleur">Changement du contrôleur</a>).</p> +<p>Il faut aussi faire les étapes suivantes :</p> +<ol type="1"> +<li>Créer une classe fille de <code>Afficheur</code> pour rajouter l’affichage du second personnage et dans la méthode <code>render()</code> mettre :</li> +</ol> +<pre><code>decor.affiche((int)m.heros.get(0).px,g); +decor.affiche((int)m.heros.get(1).px,g); +... +ObjetHeros b1 = m.heros.get(0); +b1.draw(g); +ObjetHeros b2 = m.heros.get(1); +b2.draw(g); +...</code></pre> +<ol start="2" type="1"> +<li>Compléter la classe que vous aviez créée dans <a href="#changement-du-contrôleur">Changement du contrôleur</a> en modifiant les actions suites aux événements clavier. Par exemple, pour contrôler le mouvement à gauche du second hero :</li> +</ol> +<pre><code>if (monde.c2.gauche) +{ + if (heros.get(1).ovx==0) + { + heros.get(1).sprites.changeEtape("course"); + } + heros.get(1).ax = -0.1; + if (hheros.get(1).vx<-2) + heros.get(1).vx=-2; +}</code></pre> +<ol start="3" type="1"> +<li>Enfin, dans la méthode principale, ajouter les héros :</li> +</ol> +<pre><code>monMonde.addHero(0,0,500,20);//hero 1 +monMonde.addHero(0,0,80,20);//hero 2 +// Changement d'image pour hero 2 +monMonde.heros.get(1).sprites.assignNewImage("hero2.png");</code></pre> <hr> </article> </main> diff --git a/doc/MoteurDeJeu.md b/doc/MoteurDeJeu.md index ed920c3cab2647bdd972ad4519595b86817d6ea8..8f91fc64e9cc5a33d828747e6766c5914dfa299d 100644 --- a/doc/MoteurDeJeu.md +++ b/doc/MoteurDeJeu.md @@ -28,6 +28,7 @@ Avant de lire ce document, il faut déjà comprendre l'[architecture du Moteur d - [Vue subjective](#vue-subjective) - [Boucle de jeu](#boucle-de-jeu) - [Changement du contrôleur](#changement-du-contrôleur) + - [Ajouter un joueur](#ajouter-un-joueur) # Utilisation basique @@ -229,5 +230,51 @@ public class MoteurPourDeux extends MoteurPhysique{ ... ``` +5. Enfin, dans la méthode principale : +``` +// Création d'un contrôleur +ControleurClavier2 cClavier2=new ControleurClavier2(true); +// Ajout du contrôleur à la boucle +maBoucle.cClavier2=cClavier2; +``` + +## Ajouter un joueur + +Pour ajouter un joueur, il faut déjà faire une nouveau contrôleur pour le second joueur (voir section [Changement du contrôleur](#changement-du-contrôleur)). + +Il faut aussi faire les étapes suivantes : + +1. Créer une classe fille de `Afficheur` pour rajouter l'affichage du second personnage et dans la méthode `render()` mettre : +``` +decor.affiche((int)m.heros.get(0).px,g); +decor.affiche((int)m.heros.get(1).px,g); +... +ObjetHeros b1 = m.heros.get(0); +b1.draw(g); +ObjetHeros b2 = m.heros.get(1); +b2.draw(g); +... +``` +2. Compléter la classe que vous aviez créée dans [Changement du contrôleur](#changement-du-contrôleur) en modifiant les actions suites aux événements clavier. Par exemple, pour contrôler le mouvement à gauche du second hero : + +``` +if (monde.c2.gauche) +{ + if (heros.get(1).ovx==0) + { + heros.get(1).sprites.changeEtape("course"); + } + heros.get(1).ax = -0.1; + if (hheros.get(1).vx<-2) + heros.get(1).vx=-2; +} +``` +3. Enfin, dans la méthode principale, ajouter les héros : +``` +monMonde.addHero(0,0,500,20);//hero 1 +monMonde.addHero(0,0,80,20);//hero 2 +// Changement d'image pour hero 2 +monMonde.heros.get(1).sprites.assignNewImage("hero2.png"); +```