Partagez
Aller en bas
Sphinx
Sphinx
Membre

Nombre de messages : 69
Distinction : aucune
Date d'inscription : 08/03/2016
https://genie23.fr/js-rmmv/mes-plugins-rmmv/

RPG Maker MV Sphinx-Spinner

le Jeu 9 Jan 2020 - 6:03

Sphinx-Spinner


Comme tous mes plugins, ce script est publié sous licence CC BY 4.0.

Récemment, je me suis retrouvé confronté à un dilemme. Je souhaitais (et je souhaite toujours) adapter un jeu de rôle des années 80 en jeu vidéo. Comme tous les jdr que je connais, celui-ci se joue au dés. Mais voilà, comment lancer un dé dans RPG Maker MV ? Bien sur, on peut toujours afficher une des 6 faces du dé aléatoirement. Mais le côté visuel ne me convenait pas. Et faire une projection 3D dans des sprites 2D, je ne sais pas faire.

Aussi j’ai décidé de prendre le problème autrement, au moyen d’une roulette. Celle-ci prend une liste de valeurs à sa construction, les affiche sur une roue qui se met à tourner jusqu’à ce que le joueur clique sur la roue pour l’arrêter.

Installation


L’installation est assez simple finalement. Elle consiste en l’ajout à votre projet de ces deux plugins à placer dans l’ordre suivant :



Le premier, c’est mon polyfill. Si vous l’aviez déjà, mettez-le à jour, car j’ai ajouté une fonction qui est indispensable pour la suite depuis.



Le second, c’est le spinner à proprement parler.

Utilisation


Ce script n’est pas destiné à être utilisé dans des events. Voici le constructeur complet :

Code:
spinner = new SphinxSpinner({
    width: 640,
    height: 480,
    values: [ "1" ],
    colors: [ "red", "blue" ],
    speed: {
        start: 1,
        max: 50,
        acceleration: 5
    }
});

Ce sont les valeurs par défaut. Vous n’êtes pas obligé de définir toutes les clés, les clés non définies seront initialisées à leur valeur par défaut.

Par la suite, vous devrez définir une fonction callback qui sera appelée imédiatement après que le spinner se sera arrêté ainsi :

Code:
spinner.setStopHandler(((index) => {
    // value est la valeur retournée par le spinner : l'indice correspondant à
    // la valeur dans le tableau passé au constructeur.
}).bind(this));

Exemple


Comme souvent, j’ai prévu une scène d’exemple. Celle-ci vous demandera le type de spinner que vous voulez créer puis le nombre d’éléments de la roue (entre 2 et 20).

Voici la scène :



Pour l’ouvrir, utilisez la commande de plugin suivante : START_SPINNER_SCENE
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum