Bonjour à toutes et à tous,
Tout les SK fournissent des nombreux chara d'un même héros (il ne manque parfois que quelques poses), et n'importe quel jeu de qualité (ou simplement moderne) utilise ces chara. Cependant, le changement d'apparence du héros peut se révéler compliqué et surtout incontrôlable. On ne sait pas comment et où sont modifié les apparences, si le héros est une héroïne, si on anime le héros, "Oh ! J'ai trouvé un super nouveau chara pour mon personnage ! Zut ! Faut que je modifie l'apparence partout, j'espère que je ne vais pas en oublier"..., bref c'est vite la galère.
J'ai mis au point, il y a peu, une technique de centralisation des changements d'apparence du héros et je souhaite la partager ici, avec ceux qui me liront.
Objectifs :
- Faire en sorte que l'apparence du héros ne soit modifiée qu'à un seul endroit, dans un seul événement. Tout en pouvant la changer n'importe quand (paradoxal mais c'est la magie de la chose)
- Gérer le fait que le Héros soit une Héroïne.
Ca fait deux objectifs simples.
1. Principe de base
Imaginez que vous êtes une machine dont le rôle est de changer l'apparence du joueur (ou de lui faire une animation spéciale (pêche, vol, ...)). De quelles informations avez-vous besoins ? Je dois changer son apparence, quelle est cette nouvelle apparence ? Oui mais attend, je dois aussi savoir si le joueur a un avatar masculin ou féminin.
Voilà :
- Un interrupteur pour dire si le joueur joue un garçon ou une fille
- Une variable pour définir la nouvelle apparence
Je ne pense pas avoir besoin de vous expliquer le fonctionnement des interrupteurs. En revanche, pour la variable, c'est autre chose. Je compte utiliser une variable globale que l'on nommera $temp. $temp contiendra des objets de types Symbol. Si vous ne comprennez pas, dites vous que vous aller rater votre vie et sauter au paragraphe suivant qui vous remontera le moral (sans doute).
Voici donc comment se structurera le changement d'apparence :
Définir la prochaine apparence puis appeler l'event commun gérant l'apparence.
2. Paramétrage du type de la prochaine apparence
Code: |
$temp = :heros_normal # Plus généralement $temp = :heros_type_apparence |
Qu'est-ce que ça veut dire ? Et bien que $temp contient :heros_normal qui est un symbole définis par vous-même (remplacez type_apparence par le nom de votre apparence). Voici les symbole utilisé de base par ce tutoriel :- :heros_normal → apparence du héros quand il marche
- :heros_course → apparence du héros quand il cours
- :heros_velo → apparence du héros sur un vélo
- :heros_surf → apparence du héros quand il surf
- :heros_anim_debut_surf → apparence du héros quand il monte sur son Pokémon en Surf
- :heros_anim_fin_surf → apparence du héros quand il met pied à terre
Rien ne vous empêche de créer un nouveau type d'apparence spécifique à une animation comme par exemple :heros_anim_vol, :heros_anim_lancer_canne, ... C'est même ce qu'il faut faire pour ajouter de nouvelles animation/apparences.
3. L'événement commun ANIMER_JOUEUR_GARCON
Nous partirons du principe que le joueur joue un garçon et nous ne tiendront pas compte de l'interrupteur indiquant le sexe du personnage joueur.
Nous partirons du principe que la variable $temp a correctement été paramétrée par le maker (vous).
Ce qui donne un événement commun ANIMER_JOUEUR_GARCON (j'utilise les avatar de Red fournis avec PSP4G+):
4. L'événement commun ANIMER_JOUEUR_FILLE
C'est un copie conforme de l'événement précédemment créer mais utilisant les avatars d'un personnage féminin
5. L'événement commun ANIMER_JOUEUR
On peut maintenant changer l'apparence du joueur facilement. Reste à savoir quand il faut appeler l'un et quand il faut appeler l'autre. D'où la création d'un troisième événement commun : ANIMER_JOUEUR.
Remarquez que l'on retombe exactement sur l'appel décrit dans la partie 1. Pour utiliser correctement ce système, il faut que l'apparence du joueur ne soit modifiée UNIQUEMENT par le biais de l'event ANIMER_JOUEUR (sinon ,vous pouvez toujours retombez sur vos galère d'antan).
Le chara du héros n'est modifié qu'a un seul endroit du jeu (deux si on chipote et que le héro se travesti) mais vous pouvez la modifier à n'importe quel moment via l'appel de ANIMER_JOUEUR. Magique non ?
6. Pour aller plus loin
Vous voulez voir si vous avez compris comment utiliser ce système ? Et bien, repérez le changement d'apparence du héros dans l'événement Surf et modifier le pour utiliser l'événement commun ANIMER_JOUEUR.
J'espère que ce tuto servira, et qu'il vous aura plut. Si quelque chose n'est pas bien expliqué, n'hésitez pas, je serait là pour vous l'expliquer autrement.
Ku'rei