Tu aimerais qu'un des objets de ton jeu ait le pouvoir très spécial d'inverser toutes les couleurs ? Intéressant ! Voici comment faire en quelques étapes.
Savoir si le joueur détient l'objet
Comment veux-tu que le joueur déclenche cet effet ? Tu veux qu'il puisse l'enclencher puis le désenclencher ? Alors il te faudras l'un de ces deux hack
- Ne tenir qu'un objet à la fois et vérifier si ton joueur détient un objet
- Séléctionner un objet dans son inventaire
Tu veux que l'effet s'enclanche définitivement quand le joueur ramasse un objet ? Alors il te faudras ce hack.
Créer l'effet
Attention, cet effet est extremement simple, il suffit d'ajouter une ligne dans la fonction game()
du script game.js
. Elle s'appliquera sur toutes les images affichées plus tôt.
Si tu veux que les couleurs du niveau soient inversées, mais pas celles de l'inventaire du joueur, place la ligne après la ligne viewDisplay();
et avant la ligne inventoryDisplay();
.
function game(){
viewDisplay();
filter(INVERT);
inventoryDisplay();
if (animation()) playerControl();
}
Si tu veux que l'effet s'applique sur l'ensemble du jeu place la ligne après viewDisplay();
et après la ligne inventoryDisplay();
, comme dans cet exemple.
function game(){
viewDisplay();
inventoryDisplay();
filter(INVERT);
if (animation()) playerControl();
}
Ajouter une condition
Maintenant, j'imagine que tu aimerais que cet effet ne s'applique que dans un cas de figure particulier.
Pour ça, il te suffite de rajouter une condition devant la ligne que tu viens de rajouter.
Cette condition dépend du hack que tu auras choisi plus haut, par exemple si tu as choisi de créer la fonction isInInventory()
, rajoute cette conditon.
function game(){
viewDisplay();
inventoryDisplay();
if ( isInInventory( 1 ) ) filter(INVERT);
if (animation()) playerControl();
}
Si tu as choisi de créer la fonction isItemSelected()
alors rajoute cette condition.
function game(){
viewDisplay();
inventoryDisplay();
if ( isItemSelected( 1 ) ) filter(INVERT);
if (animation()) playerControl();
}
Enfin, remplace le 1
dans ta condition par le type d'objet qui devra déclencher l'effet.
Et voilà, tu as crée ton objet avec son effet spécial !