Derniers sujets

[Tuto Ren'Py] Les menus lvl 1 (*)

Aller en bas

[Tuto Ren'Py] Les menus lvl 1 (*) Empty [Tuto Ren'Py] Les menus lvl 1 (*)

Message par Ryouzanki le Ven 25 Mai 2012 - 19:29

Bonjour,

Commentaire
Alors aujourd'hui, on va apprendre à créer des "menus". Je les nommes comme ça parce que c'est ainsi que Ren'Py les nomme. Ou pourrait les nommer "choix" car il s'agit de proposer au lecteur d'interagir avec l'histoire.
Cela évite que certains lecteurs s'ennuient devant leur écran.

Connaissances requises :
- Les dialogues

A quoi ça sert ?
Cela sert a avoir des embranchements. Par la suite, je vais vous montrer l'utilisation des "labels" et des "jump" qui permettent d'écrire un code propre.

A quoi ça ressemble ?
Le VN commence.
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 28221673
On me pose une question.
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 73450132
Si je fais le premier choix, il se passe :
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 92353390
Dans l'autre cas, il se passe :
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 54380509

Mais comment tu fais ça ?
Avec la commande "menu:" (n'oubliez pas les 2 points, c'est important) A partir de là, tout ce qui sera écrit sera indenté une seconde fois. La première phrase indique ce qui sera écrit en bas, pendant l'affichage du menu. Elle est optionnelle. Personnellement je ne la mets pas. Ensuite, vous mettez vos choix sous forme de phrase entre guillemets et terminées par deux points. Chaque phrase ainsi écrite sera un choix différent. Vous pouvez bourrer l'écran de choix si ça vous amuse. On a donc :
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 80014100
On peut aussi utiliser "pass" sans guillemets qui passera a la suite, ce qu'il y a après le menu. Pour sortir du menu, car il faut bien sortir un jour, on supprime des émargements jusqu'à se réaligner avec "menu:" ce qui dira à Ren'Py que désormais, tout ce qui est écrit est hors du menu. A la fin du menu, tout redeviens normal.
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 24180314
Voilà c'est fini... Non je plaisante. Je suis plutôt sadique alors on va mettre des menus dans des menus. Ne copiez pas ce code, c'est juste pour vous montrer, je vais souffrir pour vous à taper ce truc moche :
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 91156556
Ce machin sert a taper 12345ABCDE ou 123456789 ou ABCDEFGHI ou ABCDE12345.
Plutôt moche, chiant à écrire et pas pratique... Du coup on va utiliser un "label" et un jump. Comme ça c'est mieux non ?
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 14482712
Ici on créé un label (respectez les espaces entre la marge. Le label doit être collé à la marge) nommé "apres_chiffre" ou on va dire ce qu'on veut si le joueur choisis chiffre (j'aurais pu appeler mon label carotte_kamikaze, on s'en fiche). Dans ce label, je donne des ordres. Pour accéder à ses ordre, je mets un "jump" qui porte bien son nom : "sauter" en anglais. Le VN va tout sauter jusqu'à atteindre le label. Vous pouvez mettre un label avant son jump associé, c'est pas grave. Exemple, on peut mettre à la fin du VN "jump start" car après tout, start est un label. Cela aura effet de revenir au point de départ.

Attention, mon programme ici comporte une faille. Je vous ai déjà dit que Ren'Py lit plus ou moins comme un humain : de haut en bas. Donc par exemple, si je clique sur chiffres puis lettre, que se passe t'il ?
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) 36672631
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) S10w
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) S11uw
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) S12q
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) S13j
Spoiler:
[Tuto Ren'Py] Les menus lvl 1 (*) S14eh
Ah... regardons le programme. Je choisis chiffre. Je jump apres_chiffre. Je choisis lettre, il m'affiche bien mes lettre. Ren'Py, personne ne lui a dit de s'arrêter. Alors il continu de lire la ligne suivante, le label apres_lettre... Et ça, le debugger ne le verra pas. Ce n'est pas une faute pour lui. Pour éviter cela, vous devez créer un label de fin et faire un jump de ce label. Oui, car plusieurs jump peuvent aller vers le même label.

Voilà, après ce tuto, il ne vous manque plus que le placement d'image pour créer votre premier VN ! Si vous avez des questions, ce topic est fait pour ça. Souvenez vous que l'alignement vertical est important.

Voir aussi :
- Faire des menues avancés
Ryouzanki
Ryouzanki
Maître
Maître

Masculin Messages : 1008
Age : 28

Revenir en haut Aller en bas

[Tuto Ren'Py] Les menus lvl 1 (*) Empty Re: [Tuto Ren'Py] Les menus lvl 1 (*)

Message par Harya le Sam 30 Mar 2013 - 14:12

Very Happy c'est vraiment génial comme tutoriel j'ai juste pas compris cette phrase "Pour éviter cela, vous devez créer un label de fin et faire un jump de ce label. Oui, car plusieurs jump peuvent aller vers le même label."car il ni a pas d'image associe pour montrer ce que cela donne au final donc j'y arrive pas ... donc si tu pourrais en mettre une cela m'aiderais beaucoup ainsi que toute les autres personnes.Merci d'avance et Merci pur ce tuto qui ma fait découvrir Ren 'Py
Harya
Harya
Dessineux
Dessineux

Féminin Messages : 247
Age : 21

Revenir en haut Aller en bas

[Tuto Ren'Py] Les menus lvl 1 (*) Empty Re: [Tuto Ren'Py] Les menus lvl 1 (*)

Message par Ryouzanki le Ven 12 Avr 2013 - 23:28

Oops, désolé de répondre aussi tard, j'avais complètement oublié XD
Voilà un schéma maison pour mieux comprendre :

[Tuto Ren'Py] Les menus lvl 1 (*) 001zzc

Si tu comprends toujours pas, fais le moi savoir et je détaillerai un peu plus.

PS : Je viens de voir une erreur, "MANGER-2" doit pointer vers "BOIRE" et "BOIRE-2" doit pointer vers "MANGER". C'est stupide.
Ryouzanki
Ryouzanki
Maître
Maître

Masculin Messages : 1008
Age : 28

Revenir en haut Aller en bas

[Tuto Ren'Py] Les menus lvl 1 (*) Empty Re: [Tuto Ren'Py] Les menus lvl 1 (*)

Message par Harya le Sam 13 Avr 2013 - 11:33

Merci !!! cheers
Harya
Harya
Dessineux
Dessineux

Féminin Messages : 247
Age : 21

Revenir en haut Aller en bas

[Tuto Ren'Py] Les menus lvl 1 (*) Empty Re: [Tuto Ren'Py] Les menus lvl 1 (*)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum