Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

News: Les actualités de fin d'année / Jeux: Glixel en version complète / Jeux: Izac 1 / News: Des jeux d'hiver sous la couette / Scripts: Système de vol pour RPG Maker (...) / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

219 connectés actuellement

30834674 visiteurs
depuis l'ouverture

1941 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Zarok

Hellsoft

Le Temple de Valor

RPG Maker Détente

RPG Fusion

Tous nos partenaires

Devenir
partenaire



Afficher une boîte de dialogue personnalisée

Un moyen de se débarrasser des limites du Windowskin (System) de RPG Maker en utilisant des images, tout en conservant le système de base.

Ecrit par Gari le 06/10/2022


❤ 1

Afficher sa propre boîte de dialogue
Ou
Comment se débarrasser du Windowskin par défaut de RPG Maker







Niveau : Assez facile (Vous devez savoir importer des images sur RM et utiliser de manière basique un logiciel de dessin)
Support : Valable sur toutes les versions de RPG Maker, mais ça reste quand même plus intéressant sur RM2000/2003 que les versions avec des langages de programmation. Le tutoriel a été écrit pour ces deux logiciels, la manière de procéder peut différer sur une autre version de RPG Maker.

Les données de ce tutoriel sont peu ou prou les mêmes que celui de Fil Razorbak : http://fil.razorback.free.fr/Vanderion%20-%20TAKING%20DOWN/tuto-cds.php, à la différence que le changement de police d'écriture n'est pas abordé ici. Vous pouvez consulter ce tutoriel pour tout ce qui touche aux polices d'écriture sur RM2000/2003. De plus, les commandes portent le nom de la version officielle de RPG Maker 2003 et la nouvelle fonction y est intégrée.
Léo avait également écrit un tutoriel sur le sujet des boîtes customisées et leur intégration ici, pour XP (toujours en événement) : https://www.rpg-maker.fr/index.php?page=tutos&id=294.


Pourquoi utiliser une boîte custom ?
Par défaut, RPG Maker utilise une boîte avec des graphismes prédéfinis par un template. Votre boîte sera donc systématiquement carrée, sans fioriture (c'est beaucoup plus compliqué d'intégrer un motif sur un windowskin que sur une image) et avec une limitation de 256 couleurs.

Cette méthode permet d'utiliser une image comme cadre du dialogue sans programmation complexe, car on exploite seulement une fonctionnalité déjà présente dans RM, à savoir la commande pour rendre la boîte par défaut transparente. Elle permet d'utiliser plus de 256 couleurs en utilisant plusieurs images, d'avoir une boîte avec des différences d'opacité (bordures opaques et fond semi transparent, par exemple), d'utiliser des grands portraits proprement, ou encore d'avoir un joli affichage de la boîte, tout ça de manière simple.


Créer sa boîte de dialogue

Il vous faudra quand même un prérequis, soit l'image de la boîte de message que vous souhaitez utiliser. Vous pouvez utiliser ces modèles :
image
image

Vous pouvez également chercher des boîtes préfaites, ici sur Oniro : page des ressources.

:avert2 Votre image doit être en 16bit et comporter entre 17 et 256 couleurs. Il est fortement recommandé d'utiliser cette image pour choisir vos couleurs, sous peine de dégrader le rendu final sur RPG Maker 2003 (plus d'informations dans ce tutoriel de Roi of the Suisse).

On peut conserver l'image à la taille de l'écran comme sur le template, faire une belle boîte autour du faceset ou une boîte pour le nom du perso qui parle. Voici un exemple rapide :
image



L'intégration dans RM

1) Configuration de l'image sur la map ou au début du jeu

Sur RM 2003, vous pouvez transférer une image d'une map à l'autre, mais pas sur RM2000.
Pour charger l'image nécessaire, vous pourrez donc soit régler votre image au début du jeu une fois (en veillant à ne pas réutiliser l'id d'image plus tard), soit vous devrez la charger à chaque changement de map à l'aide d'un événement commun en processus parallèle (RM 2000).
Procédure si vous utilisez RM2003 :

Spoiler (cliquez pour afficher)



Pour l'affichage de l'image avant utilisation, cela ressemblera globalement à cela :
image
Vous devez configurer :
1 : L'image à afficher
2 : La transparence à 100%
Sur RM2003, vous pouvez :
3 : Faire que l'image s'affiche au-dessus de la plupart des éléments de la map
4 : Conserver l'image d'une map à l'autre (évite de la recharger)

Pour son emplacement, j'ai jusque-là utilisé des images à la taille de l'écran, et qui ne nécessitent donc pas de modifier les valeurs x,y présentes par défaut dans Show Picture (160,120). Si vous utilisez une boîte dans sa taille minimale requise de 80 pixels de hauteur (comme celles des ressources), vous devrez modifier la valeur y par 200 si vous souhaitez l'afficher en bas, 40 en haut, et 120 au milieu.


2) Création de commandes pour montrer et retirer sa boîte

Pour intégrer votre nouvelle boîte et pouvoir l'appeler tout au long du jeu, le plus simple est de recourir à deux événements communs :
- un pour l'ouverture de la boîte
- un pour la fermeture

Pour l'affichage de la boîte de dialogue dans l'événement commun, il ne reste qu'à :
- Changer Display Text Options pour que la boîte de dialogue soit transparente (deuxième option dans la boîte de commandes événementielles)
image
- préparer la transition qu'on souhaite utiliser et mettre à 0 la transparence (fondu, déplacement)

Et pour la fermeture de la boîte, faire votre animation de disparition de disparition de boîte et remettre la transparence de l'image à 100.
:inter Pourquoi on ne peut pas utiliser Show/Erase Picture ?
Vous pouvez, mais RM2000/2003 n'aiment pas afficher les images (cela peut provoquer des lag sur la map), mieux vaut préférer Move Picture.


3) Utilisation du système en jeu

Après cela, il ne reste plus qu'à appeler nos événements communs avant et après boîte de dialogue, le reste (affichage de facesets, balises codes dans les messages) se fait normalement. Tant que vous n'oubliez pas de retirer votre boîte avant les déplacements dans une scène, le reste n'est qu'une question de goût (comme par exemple faire un effet de transition quand on change de personne).
image

Voici un exemple avec l'exemple de boîte du début :
image


Améliorations

Avec ce qu'on a vu jusque ici, vous avez une base pour utiliser simplement ce système.
Cependant, il est possible d'aller plus loin, par exemple :
- Afficher des boîtes à la hauteur personnalisée. Il est tout à fait possible d'afficher une ou deux lignes de dialogue seulement.

- Afficher la boîte de dialogue au milieu ou en haut. Il suffit de changer la position de l'image, et recommandé d'utiliser une variable pour automatiser l'affichage.

Voici un exemple pour ces deux cas :
Le positionnement du texte au milieu ou en haut n'est pas plus compliqué qu'en bas. Vous pouvez même réutiliser le même template ! En voici un refait pour l'exemple :
image
Et voici ce que ça donne en jeu :
image
Dans cet exemple, j'ai placé mon dialogue au milieu sur la deuxième ligne, en utilisant un faceset vide comme repère à gauche. J'ai également supprimé la commande de transparence de la fenêtre pour la placer dans cet événement. Vous l'aurez remarqué dans cet exemple, l'animation de la flèche dans le vide n'est pas du meilleur goût. Vous verrez plus tard comment y pallier.
image

- Afficher des grands portraits. Tant que vous respectez l'espace dédié au faceset à gauche, il est tout à fait possible d'afficher des portraits, et ce sans se fatiguer. Il suffit de créer ou vider une case de faceset, de l'afficher avec la commande associée et d'afficher votre portrait avant le message, et le tour est joué ! Vous pouvez également l'afficher à droite, mais attention à ne pas déborder niveau caractères (vous pouvez utiliser les repères dans Show Text).

- Afficher des boîtes à la largeur personnalisée. Dans la même idée que pour les portraits, mais attention au débordement des caractères si vous utilisez des dimensions autres.

Voici un exemple avec les deux points précédents :
image

La principale configuration sera de positionner correctement votre portrait (et ensuite privilégier une taille unique pour ce fichier) et trouver votre limite de caractères en cas de largeur personnalisé. L'ajout d'un faceset en transparence est bien pratique pour la déterminer, mais vous pouvez décider d'utiliser une largeur totalement aléatoire, auquel cas il vous faudra travailler à coup d'espaces pour bien positionner votre texte dans la boîte.

- Faire un affichage animé, pour de vrai ! Après tout, avec ce système, la porte de l'animation vous est ouverte. Comme vous avez pu le voir plus haut, vous en aurez parfois besoin, ne serait-ce que pour remplacer certains mauvais placements du windowskin. Il vous faudra donc éditer un windowskin pour rendre les parties animées transparentes (attention à toutefois garder un exemplaire valide pour vos menus, et à le remettre à la fin d'un dialogue ou dans votre événement commun de fermeture de boîte).
Pour remettre une petite animation en elle-même, deux solutions selon que vous utilisez RM2000-2003 :
- (RM2000, anciennes versions de RM2003) Refaire le nombre d'images souhaitées pour votre animation et créer un événement commun en processus parallèle qui va boucler d'une image à l'autre à l'activation d'un dialogue.
- (RM2003 1.10+) Utiliser la fonction Spritesheet dans Show Picture pour n'avoir qu'une seule image avec des patterns (comme les poses d'un charset, mais sur une ligne ou une colonne). Il suffit de l'appeler une fois dans l'événement commun pour montrer la boîte et l'enlever dans celui de fermeture, et le tour est joué.
image
Vous pouvez configurer votre image selon le nombre de poses et la vitesse d'animation. Loop permet de faire boucler l'image en continu.
Autre option possible, animer ses portraits, en remplaçant là encore des images à la place des facesets par défaut. Je ne vais pas l'expliquer, mais vous pouvez en voir un exemple dans ce tutoriel pour RPG Maker XP (avec du RGSS donc, mais il est tout à fait possible de reproduire l'effet sur d'autres RM sans scripting, la méthode d'affichage étant la même que pour le windowskin).

Un exemple pour l'affichage d'un dialogue (image de la boîte tirée d'un jeu pc) :
image
Il suffit de rajouter la transition d'affichage dans l'événement commun d'affichage, et l'inverser dans celui de fermeture.

Un exemple lors d'un dialogue :
image
Si vous n'utilisez pas le déplacement automatique par Spritesheet, vous devrez cocher "Allow other events to move" pour qu'il y ait animation. Cela vaut pour toute animation que vous voudriez avoir pendant un dialogue (pas que des déplacements/changements d'image, d'ailleurs), donc ne l'oubliez pas !

Voilà, avec tout ça, vous avez déjà pas mal de champs d'exploration possibles pour enjoliver votre boîte de dialogue !


Aucun commentaire n'a été posté pour le moment.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers