Bonjour à ceux qui me lisent.
Je voudrais faire une feuille d’évènement dans GD5 dont l’objectif est de faire apparaitre sur l’écran un sprite qui aura des couches de sprites empilés sur le sprite de base. Ce serai simple si je voulais juste cela. Mais je voudrais proposer aux joueurs de choisir à partir de listes d’objets affichés, le type de corps, un t-shirt, une veste, un pantalon, un chapeau. Cette scène de DRESSUP est juste un moment du jeu et ce n’est pas le jeu. Une fois que le joueur valide son corps, son style, pour former son look, je voudrais pouvoir afficher son look quand je veux dans le jeu.
De plus j’aimerais associer des variables à ces sprites pour mémoriser ces choix. Ainsi par example je pourrais créer une variable SCORE pour une note de look par exemple et pouvoir par la suite dans le jeu conditionner les actions selon ce score.
Voilà un example de script YAML qui est le Markup Language du moteur de Visual Novel, RenJS où j’ai réussi à faire un prototype de choix d’items pour avoir à la fin un sprite avec un ti-shirt, un pantalon empilé sur un corps. Avec des variables et des conditions j’arrive à ce que je veux. Je cherche quelque chose de similaire sur GD5 avec la feuille d’évènements.
- scene: bodyChoice
bodyChoice:
- show body_1: AT 400,300 WITH CUT
- var body: 0
- var bottom: 0
- var top: 0
# Let user choose a body type
- visualchoice:
- body_1 AT 200,400:
- var body: "{body} + 1"
- deuzi says: body est égal à {body}
- scene: topChoice
- body_2 AT 400,400:
- var body: "{body} + 2"
- scene: topChoice
- body_3 AT 600,400:
- var body: "{body} + 3"
- scene: topChoice
topChoice:
- hide body_1: AT 400,300 WITH CUT
- if ({body}=="1"):
- show body_1: AT 400,300 WITH CUT
- if ({body}=="2"):
- show body_2: AT 400,300 WITH CUT
- if ({body}=="3"):
- show body_3: AT 400,300 WITH CUT
- deuzi says: je suis à topChoice
# Let user choose a top
- visualchoice:
- top_1 AT 200,400:
- show top_1: AT 400,300 WITH CUT
- var top: "{top} + 1"
- deuzi says: top est égal à {top}
- scene: topBottom
- top_2 AT 400,400:
- show top_2: AT 400,300 WITH CUT
- var top: "{top} + 2"
- deuzi says: top est égal à {top}
- scene: topBottom
- top_3 AT 600,400:
- show top_3: AT 400,300 WITH CUT
- var top: "{top} + 3"
- deuzi says: top est égal à {top}
- scene: topBottom
topBottom:
- if ({body}=="1"):
- show body_1: AT 400,300 WITH CUT
- if ({body}=="2"):
- show body_2: AT 400,300 WITH CUT
- if ({body}=="3"):
- show body_3: AT 400,300 WITH CUT
- if ({top}=="1"):
- show top_1: AT 400,300 WITH CUT
- if ({top}=="2"):
- show top_2: AT 400,300 WITH CUT
- if ({top}=="3"):
- show top_3: AT 400,300 WITH CUT
- deuzi says: je suis à topBottom
- choice:
- I'm OK with this one!:
- deuzi says: Great! What a hardworking student.
- Choose another top!:
- deuzi says: blabla
- scene: topChoice
# Let user choose a top
- visualchoice:
- bottom_1 AT 200,400:
- show bottom_1: AT 400,300 WITH CUT
- var bottom: "{bottom} + 1"
- deuzi says: bottom est égal à {bottom}
- scene: yourLook
- bottom_2 AT 400,400:
- show bottom_2: AT 400,300 WITH CUT
- var bottom: "{bottom} + 2"
- scene: yourLook
- bottom_3 AT 600,400:
- show bottom_3: AT 400,300 WITH CUT
- var bottom: "{bottom} + 3"
- scene: yourLook
yourLook:
- if ({body}=="1"):
- show body_1: AT 400,300 WITH CUT
- if ({body}=="2"):
- show body_2: AT 400,300 WITH CUT
- if ({body}=="3"):
- show body_3: AT 400,300 WITH CUT
- if ({top}=="1"):
- show top_1: AT 400,300 WITH CUT
- if ({top}=="2"):
- show top_2: AT 400,300 WITH CUT
- if ({top}=="3"):
- show top_3: AT 400,300 WITH CUT
- if ({bottom}=="1"):
- show bottom_1: AT 400,300 WITH CUT
- if ({bottom}=="2"):
- show bottom_2: AT 400,300 WITH CUT
- if ({bottom}=="3"):
- show bottom_3: AT 400,300 WITH CUT
- deuzi says: Voici ton look.
- choice:
- I'm OK with this one!:
- deuzi says: blabla
- Start again ?:
- deuzi says: blabbla
- scene: bodyChoice