Pokémon Script Project Index du Forum

S’enregistrer | Rechercher | Connexion
 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
Aller à la page: 1, 2  >
 
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Tutoriels
Sujet précédent :: Sujet suivant   
Auteur Message
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Lun 7 Oct - 00:31 (2013)    Sujet du message: [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
Revenir en haut
Publicité






MessagePosté le: Lun 7 Oct - 00:31 (2013)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
JN.Tasia
Membre


Inscrit le: 23 Aoû 2012
Messages: 264
Platinium Grad (Branleur)
Localisation: Chez soi.

MessagePosté le: Ven 29 Nov - 15:54 (2013)    Sujet du message: [Utilitaire]Centralisation des changements d'apparence

Superbe tuto, sa me servira pour mon Game :D
Revenir en haut
Skype Facebook
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Ven 29 Nov - 22:46 (2013)    Sujet du message: [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
Revenir en haut
og_loc-TATOO
Membre


Inscrit le: 11 Oct 2009
Messages: 3 383
Sailor Maniac
Localisation: noitasilacol

MessagePosté le: Ven 29 Nov - 23:04 (2013)    Sujet du message: [Utilitaire]Centralisation des changements d'apparence

Moi j'ai toujours pas compris l'utilité '-'
Revenir en haut
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Sam 30 Nov - 12:54 (2013)    Sujet du message: [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, ...
Revenir en haut
Eternalis
Membre


Inscrit le: 25 Avr 2012
Messages: 81
Masculin

MessagePosté le: Sam 30 Nov - 14:14 (2013)    Sujet du message: [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".
Revenir en haut
og_loc-TATOO
Membre


Inscrit le: 11 Oct 2009
Messages: 3 383
Sailor Maniac
Localisation: noitasilacol

MessagePosté le: Sam 30 Nov - 16:30 (2013)    Sujet du message: [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
Revenir en haut
Sansonic
Membre


Inscrit le: 04 Mar 2009
Messages: 587
Masculin

MessagePosté le: Sam 30 Nov - 23:27 (2013)    Sujet du message: [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.
Revenir en haut
Visiter le site web du posteur
TouzaxA
Membre


Inscrit le: 27 Juil 2012
Messages: 2 669

MessagePosté le: Dim 1 Déc - 09:11 (2013)    Sujet du message: [Utilitaire]Centralisation des changements d'apparence

sansonic a écrit:
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
Les membres suivants remercient TouzaxA pour ce message :
Ku'rei (01/12/13)
Revenir en haut
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Dim 1 Déc - 11:26 (2013)    Sujet du message: [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.
Revenir en haut
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Dim 1 Déc - 12:00 (2013)    Sujet du message: [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)
Revenir en haut
Facebook Twitter
TouzaxA
Membre


Inscrit le: 27 Juil 2012
Messages: 2 669

MessagePosté le: Dim 1 Déc - 15:26 (2013)    Sujet du message: [Utilitaire]Centralisation des changements d'apparence

Yuri a écrit:
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
Revenir en haut
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Dim 1 Déc - 15:35 (2013)    Sujet du message: [Utilitaire]Centralisation des changements d'apparence

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


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

MessagePosté le: Dim 1 Déc - 15:52 (2013)    Sujet du message: [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^
Revenir en haut
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Dim 1 Déc - 17:52 (2013)    Sujet du message: [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 ^^
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 16:52 (2017)    Sujet du message: [Utilitaire]Centralisation des changements d'apparence

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Tutoriels Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2  >
Page 1 sur 2

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une 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)
Traduction par : phpBB-fr.com