Voila mon essai de menu, suite a l'atelier de Zangther, et je précise que j'ai reçu la précieuse aide d'Ulis pour pouvoir utiliser les modulos, en fait ce n'est pas si compliqué
. Je n'ai juste pas encore mis le curseur en une seule image géré avec des déplacements, mais je vous laisse observer par vous même ce que ça donne.
Résultat final :Evenement Commun n°1 : Lancer le menu Proccessus parralèle : Interrupteur :
Menu Débloqué [ C'est lui qui permet d'afficher mon menu à la place de celui de base grâce à un appuie touche, il faut d'abord désactiver le menu de base, évidemment ]
Code :
|> Attendre : 1 Frames
|> Si la touche B est préssée
    |> Jouer SE : 'Saint7', Volume : 80, Tempo : 100
    |> Opération : Interrupteur [0006:Menu Lancé] Activé
    |>
|   Fin - Condition
|>
Evenement Commun n°2 : Menu Automatique : Interrupteur :
Menu Lancé [ C'est donc le coeur du menu, qui affiche les images et gère les déplacements avec le modulo et des variables. ]
Code :
|> Attendre : 1 Frames
|> Afficher Image : 1, 'Menu-Fond', H.G. (0,0), (100%,100%), 255, Normale
|> Afficher Image : 3, 'Menu-Sections', H.G. (0,0), (100%,100%), 255, Normale
|> Afficher Image : 2, 'Menu-Curseur1', H.G. (0,0), (100%,100%), 255, Normale
|> Opération : Interrupteur [0007:Animation du Curseur] Activé
|> Opération : Variable [0005:Position Case Y] = 0
|> Opération : Variable [0006:Position Case X] = 0
|> Attendre : 20 Frames
|> Boucle
    |> Attendre : 1 Frames
    |> Si la touche Bas est préssée
        |> Jouer SE : 'Cursor', Volume : 100, Tempo : 100
        |> Opération : Variable [0005:Position Case Y] += 1
        |> Opération : Variable [0005:Position Case Y] %= 2
        |> Appeler Événement Commun : Menu-Curseur de Selection
        |>
    |   Fin - Condition
    |> Si la touche Droite est préssée
        |> Jouer SE : 'Cursor', Volume : 100, Tempo : 100
        |> Opération : Variable [0006:Position Case X] += 1
        |> Opération : Variable [0006:Position Case X] %= 2
        |> Appeler Événement Commun : Menu-Curseur de Selection
        |>
    |   Fin - Condition
    |> Si la touche Gauche est préssée
        |> Jouer SE : 'Cursor', Volume : 100, Tempo : 100
        |> Opération : Variable [0006:Position Case X] -= 1
        |> Opération : Variable [0006:Position Case X] %= 2
        |> Appeler Événement Commun : Menu-Curseur de Selection
        |>
    |   Fin - Condition
    |> Si la touche Haut est préssée
        |> Jouer SE : 'Cursor', Volume : 100, Tempo : 100
        |> Opération : Variable [0005:Position Case Y] -= 1
        |> Opération : Variable [0005:Position Case Y] %= 2
        |> Appeler Événement Commun : Menu-Curseur de Selection
        |>
    |   Fin - Condition
    |> Si la touche X est préssée
        |> Opération : Interrupteur [0006:Menu Lancé] Activé
        |> Jouer SE : 'Wind8', Volume : 80, Tempo : 150
        |> Déplacer Image : 1, '', H.G. (0,0), (100%,100%), 0, Normale, 60 Frames
        |> Déplacer Image : 2, '', H.G. (0,0), (100%,100%), 0, Normale, 60 Frames
        |> Déplacer Image : 3, '', H.G. (0,0), (100%,100%), 0, Normale, 60 Frames
        |> Attendre : 60 Frames
        |> Effacer Image : 1
        |> Effacer Image : 2
        |> Effacer Image : 3
        |> Sortir de la boucle
        |>
    |   Fin - Condition
    |> Si la touche C est préssée
        |> Jouer SE : 'Decision2', Volume : 80, Tempo : 100
        |> Appeler Événement Commun : Menu-Choix
        |>
    |   Fin - Condition
    |>
|   Fin - Boucle
|> Opération : Interrupteur [0006:Menu Lancé] Activé
|>
Evenement Commun n°3 : Animation de Curseur : Processus Parallèle : Interrupteur :
Animation du Curseur [ Permet de changer l'opacité de l'image du curseur pour faire un petit effet sympatoche ]
Code :
|> Attendre : 3 Frames
|> Déplacer Image : 2, '', H.G. (0,0), (100%,100%), 100, Normale, 90 Frames, Attendre
|> Déplacer Image : 2, '', H.G. (0,0), (100%,100%), 255, Normale, 90 Frames, Attendre
|>
Evenement Commun n°4 : Curseur de Selection [ Appeller cet événement commun à chaque déplacement dans le menu, il gérera la position de l'image du curseur ]
Code :
|> Si Variable [0005:Position Case Y] == 0
    |> Si Variable [0006:Position Case X] == 0
        |> Effacer Image : 2
        |> Afficher Image : 2, 'Menu-Curseur1', H.G. (0,0), (100%,100%), 255, Normale
        |> Attendre : 10 Frames
        |>
    |   Fin - Condition
    |> Si Variable [0006:Position Case X] == 1
        |> Effacer Image : 2
        |> Afficher Image : 2, 'Menu-Curseur3', H.G. (0,0), (100%,100%), 255, Normale
        |> Attendre : 10 Frames
        |>
    |   Fin - Condition
    |>
|   Fin - Condition
|> Si Variable [0005:Position Case Y] == 1
    |> Si Variable [0006:Position Case X] == 0
        |> Effacer Image : 2
        |> Afficher Image : 2, 'Menu-Curseur2', H.G. (0,0), (100%,100%), 255, Normale
        |> Attendre : 10 Frames
        |>
    |   Fin - Condition
    |> Si Variable [0006:Position Case X] == 1
        |> Effacer Image : 2
        |> Afficher Image : 2, 'Menu-Curseur4', H.G. (0,0), (100%,100%), 255, Normale
        |> Attendre : 10 Frames
        |>
    |   Fin - Condition
    |>
|   Fin - Condition
|>
Evenement Commun n°5: Choix [ Appeler cet événement commun pour effectuer une action en fonction de la position, j'aurais pu l'intégrer dans "Menu" mais j'ai préféré le séparé pour plus de clarté. ]
Code :
|> Si Variable [0005:Position Case Y] == 0
    |> Si Variable [0006:Position Case X] == 0
        |> Appeler script : $scene = Scene_Item.new
        |>
    |   Fin - Condition
    |> Si Variable [0006:Position Case X] == 1
        |> Message : Ø, Ø, Normal, Milieu
        |                  : Afficher statistiques ici.
        |>
    |   Fin - Condition
    |>
|   Fin - Condition
|> Si Variable [0005:Position Case Y] == 1
    |> Si Variable [0006:Position Case X] == 0
        |> Ouvrir le menu de sauvegarde
        |>
    |   Fin - Condition
    |> Si Variable [0006:Position Case X] == 1
        |> Appeler script : $scene = Scene_End.new
        |>
    |   Fin - Condition
    |>
|   Fin - Condition
|>
Voila maintenant les ressources graphiques nécessaires : [ Faites avec mes mimines sur paint.net et quelques icônes de l'iconset ]
Nommez les bien avec le nom qui est au dessus de l'image !- Spoiler:
Menu-Curseur1
Menu-Curseur2
Menu-Curseur3
Menu-Curseur4
Menu-Fond
Menu-Sections
J'aimerais améliorer dans ce menu :
-Supprimer le fait que lorsqu'on va dans l'inventaire et que l'on appuie sur "Echap" on revienne au menu basique et qu'on puisse accéder aux autres sous-menus du jeu :/
-Gérer l'affichage du curseur avec une seule image, donc avec la position en pixels.
Et je crois que c'est les seuls points qui me dérangent, des suggestions, idées d'améliorations ?
Edit: La transparence de l'image "Menu-Fond" a bugée dans l'hébergement... désolé :/ et j'espère que j'ai été clair aussi, n'hésitez pas à demander des précisions. Sinon pour l'image ce n'est pas grave vous pouvez évidemment mettre n'importe quoi d'autre à la place.