Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

[Utilitaire]Centralisation des changements d'apparence
Goto page: 1, 2  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Tutoriels
Previous topic :: Next topic   
Author Message
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Mon 7 Oct - 00:31 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

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
Back to top
Publicité






PostPosted: Mon 7 Oct - 00:31 (2013)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
JN.Tasia
Membre


Joined: 23 Aug 2012
Posts: 264
Platinium Grad (Branleur)
Localisation: Chez soi.

PostPosted: Fri 29 Nov - 15:54 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Superbe tuto, sa me servira pour mon Game :D
Back to top
Skype Facebook
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Fri 29 Nov - 22:46 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Wahou ! J'avais perdu espoir d'avoir une remarque sur ce tuto ! Je commençais à me demander si les gens comprennaient son utilité ^^
Sinon, merci Imbécile heureux
Back to top
og_loc-TATOO
Membre


Joined: 11 Oct 2009
Posts: 3,383
Sailor Maniac
Localisation: noitasilacol

PostPosted: Fri 29 Nov - 23:04 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Moi j'ai toujours pas compris l'utilité '-'
Back to top
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Sat 30 Nov - 12:54 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Ok, alors je vais expliquer du mieux que je puisse compte tenu de ma monumentale gueule de bois. ^^

Quand tu change l'apparence de ton héros, tu fais quelque chose du genre :


Maintenant, imagine que tu as changer l'apparence de ton héros 200 fois (on pousse jusqu'au bout) dans ton jeu et que tu découvre un autre chara bien mieux pour ton héros. Tu devra changer 200 commandes d'event, tu risque d'en oublier. Tu pourrai simplement renommer le chara, mais si un événement utilise ce chara aussi tu corrompt tout.

Ce système, en plus de supprimer la trés pénible recherche de chara à chaque changement d'apparence, est une protection contre le changement. Et Dieu sait que ça arrive trés souvent dans notre domaine. Voici l'event avec ce système :


J'ajouterai une chose : ce système permet de créer des animations réutilisables sans copier/coller. Pour plus de précision je te laisse jeter un coup d'oeil aux event communs 'ANIMER_JOUEUR' de PSPOG. J'utilise cette méthode pour la canne à pêche, le surf, le vol, ...
Back to top
Eternalis
Membre


Joined: 25 Apr 2012
Posts: 81
Masculin

PostPosted: Sat 30 Nov - 14:14 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Bonjour Ku'rei ! Merci pour ce tutoriel de qualité !
Celui-ci a été ajouté à la liste des tutoriels section "scripts".
Back to top
og_loc-TATOO
Membre


Joined: 11 Oct 2009
Posts: 3,383
Sailor Maniac
Localisation: noitasilacol

PostPosted: Sat 30 Nov - 16:30 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Ah la je comprend mieux, et évidemment c'est très utile, surtout pour les gros projets Bouche extensible
Et je pense me servir de ce tuto moi aussi =D
Back to top
Sansonic
Membre


Joined: 04 Mar 2009
Posts: 587
Masculin

PostPosted: Sat 30 Nov - 23:27 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

C'est un bon tutoriel cependant il y a une méthode largement plus simple et responsable dans le cas où l'on trouve un nouveau charas:
- Remplacer l'ancien charas par le nouveau dans le dossier "Graphics/Characters" (en donnant le nom de l'ancien au nouveau).


Ce n'est pas pour jouer les rabat-joies mais c'est plus logique d'aller corriger le problème à la source.
Back to top
Visit poster’s website
TouzaxA
Membre


Joined: 27 Jul 2012
Posts: 2,669

PostPosted: Sun 1 Dec - 09:11 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

sansonic wrote:
C'est un bon tutoriel cependant il y a une méthode largement plus simple et responsable dans le cas où l'on trouve un nouveau charas:
- Remplacer l'ancien charas par le nouveau dans le dossier "Graphics/Characters" (en donnant le nom de l'ancien au nouveau).

Ce n'est pas pour jouer les rabat-joies mais c'est plus logique d'aller corriger le problème à la source.

Ce qui n'est pas possible si l'on veut faire des boutiques de vêtements, comme dans XY. Imbécile heureux
Following members like this message:
Ku'rei (01/12/13)
Back to top
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Sun 1 Dec - 11:26 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Et puis, si tu veux faire une animation du héros, il vaut mieux qu'elle soit écrites à un seul endroit.
Back to top
Nuri Yuri
Team SDK


Joined: 15 Oct 2008
Posts: 6,383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

PostPosted: Sun 1 Dec - 12:00 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Si on veut faire un magasin de vêtement à la X et Y ce tuto est la pire des idées :b
Il faudra faire de la manipulation de bitmaps exécute à chaque démarrage du jeu et changement de vêtements. (Et dans ce cas, il suffira de jouer avec une variable de jeu qui dit si on court ou pas pour choisir le bitmap à utiliser en tant que chara :b)
Back to top
Facebook Twitter
TouzaxA
Membre


Joined: 27 Jul 2012
Posts: 2,669

PostPosted: Sun 1 Dec - 15:26 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Yuri wrote:
Si on veut faire un magasin de vêtement à la X et Y ce tuto est la pire des idées :b
Il faudra faire de la manipulation de bitmaps exécute à chaque démarrage du jeu et changement de vêtements. (Et dans ce cas, il suffira de jouer avec une variable de jeu qui dit si on court ou pas pour choisir le bitmap à utiliser en tant que chara :b)


Ouais, après réflexion, c'est foireux. XD
Changer d'apparence, disons. Coupable
Back to top
Nuri Yuri
Team SDK


Joined: 15 Oct 2008
Posts: 6,383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

PostPosted: Sun 1 Dec - 15:35 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Oui, là pour changer entre marcher pêche etc... ça ne pose aucun problèmes :b
Back to top
Facebook Twitter
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Sun 1 Dec - 15:52 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Dans l'exemple course / vélo(s) / surf / pêche, le plus souvent ce sont des évents communs qui les gèrent ^^ Donc on peut déjà facilement centraliser les changements de charas (gérer le switch sur ces évents, fille / garcon, ca oblige juste à répéter une condition :p)

Toutefois, pour des jeux qui ne se limiteraient pas à ces changements de charas, ca peut être utile je le reconnais ^o^
Back to top
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Sun 1 Dec - 17:52 (2013)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Ou on utilise l'attribut character_name de l'event $game_player :
$game_player.character_name = $game_player.move_character_base+num_vetement+".png"
avec move_character_base = "heros_m_course_" ou "heros_f_marche_", ...

et les attributs
anim_count et direction de $game_player pour choisir le chara.
Après avoir fait un attr_accessor :anim_count dans Game_Character

Normalement ça changera l'apparence. Et supprimerais toutes les condition de l'évent commun.

Mais on va encore me reprocher d'utiliser les script pour tout et n'importe quoi ^^
Back to top
Contenu Sponsorisé






PostPosted: Today at 11:42 (2019)    Post subject: [Utilitaire]Centralisation des changements d'apparence

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Tutoriels All times are GMT + 1 Hour
Goto page: 1, 2  >
Page 1 of 2

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)