Skip to content
Snippets Groups Projects
Commit a13b5e02 authored by Villard PierreFrederic's avatar Villard PierreFrederic
Browse files

add a hero

parent b60f08d7
No related branches found
No related tags found
No related merge requests found
......@@ -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&#39;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(&quot;course&quot;);
}
heros.get(1).ax = -0.1;
if (hheros.get(1).vx&lt;-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&#39;image pour hero 2
monMonde.heros.get(1).sprites.assignNewImage(&quot;hero2.png&quot;);</code></pre>
<hr>
</article>
</main>
......
......@@ -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");
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment