MENU DU JEU

fabricelens

il y a 7 mois

Bonjour, serait-il possible de créer un tuto pour la création d'un menu dans un jeu?

(image de fond et action lors du choix à l’écran)

Merci d'avance pour vos réponses


jicehel

NEW il y a 7 mois

Bonjour,

Regardes cette page de l'académie: https://gamebuino.com/fr/academy/reference/gb-gui-menu

Pour préparer ton menu, tu remplis un tableau

const char* entries[] = {  "Ligne 1",  "Ligne 2",  "Ligne 3",  "Ligne 4", };

Après si tu veux afficher ton menu dès le début, dans le setup, tu affiche ton image de fond et tu appelles ton menu en lui donnant un titre 

void setup() {

  gb.begin();  

  // Ajoutes ton code ici pou afficher ton image selon le mode que tu auras choisi 

  // Affiche le menu  

  uint8_t entry = gb.gui.menu("Choisis ta ligne", entries);   

  // Juste pour ton test, on efface l'écran et on affiche l'entrée sélectionnée

  gb.display.clear();

  gb.display.println("Tu as choisi:");

  gb.display.print(entries[entry]);

}

void loop() 

{  

while(!gb.update()); 

}

Après tu peux même gérer les langues dans ton menu et faire apparaître le texte en fonction de la langue de l'utilisateur

Par exemple comme ça:

// Menu de sélection du mode de jeu
const MultiLang title[] = {
    { LANG_EN, "Select game mode" },{ LANG_FR, "Mode de jeu" },
    { LANG_DE, "Einstellung de betriebweise " }, { LANG_ES, "Selección del modo del partida" },
};

const MultiLang entryOnePlayer[] = {
    { LANG_EN, "1 player mode" },  { LANG_FR, "Mode 1 joueur" },
    { LANG_DE, "1 Spieler" }, { LANG_ES, "1 jugador" },
};

const MultiLang entry2players[] = {
    { LANG_EN, "2 players mode" },  { LANG_FR, "Mode 2 joueurs" },
    { LANG_DE, "2 Spieler" }, { LANG_ES, "2 jugadores" },
};

const MultiLang entry3players[] = {
    { LANG_EN, "3 players mode" },  { LANG_FR, "Mode 3 joueurs" },
    { LANG_DE, "3 Spieler" }, { LANG_ES, "3 jugadores" },
};

const MultiLang entry4players[] = {
    { LANG_EN, "4 players mode" },  { LANG_FR, "Mode 4 joueurs" },
    { LANG_DE, "4 Spieler" }, { LANG_ES, "4 jugadores" },
};

const MultiLang Highcores[] = {
    { LANG_EN, "High scores" },  { LANG_FR, "Meilleurs scores" },
    { LANG_DE, "Hohe Punktzahlen" }, { LANG_ES, "Puntuaciones altas" },
};

const MultiLang* entries[] = {
      entryOnePlayer,
      entry2players,
      entry3players,
      entry4players,
      Highcores,
};


fabricelens

il y a 7 mois

Merci pour la réponse, je débute depuis Noël sur GameBuino, je vais déja me focaliser sur ce code pour le menu. Bonne soirée a vous.

fabricelens

NEW il y a 7 mois

jicehel jicehel

Merci pour la réponse, je débute depuis Noël sur GameBuino, je vais déja me focaliser sur ce code pour le menu. Bonne soirée a vous.

jicehel

NEW il y a 7 mois

Bon début Fabrice et n'hésite pas à poser des questions si tu bloques sur un truc. Bonnes fêtes de fin d'année, amuses toi bien et profites en. On sera peu dispo, je pense dans les jours à venir alors ne soit pas surpris si on ne te répond pas tout de suite.

PS: Si tu débuté, n'hésites pas à commencer par les tutos, ils donnent déjà pas mal de bases pour commencer et tu peux les modifier à ta sauce pour obtenir des jeux personnalisés à ta convenance. 

fabricelens

il y a 7 mois

Merci, Bonne fêtes également à l'équipe, j'aurai le temps de bidouiller le temps que le forum revienne à la normal, j'ai déja un bonne esquisse d'un petit mix pong/foot donc de quoi m'amuser et de l'améliorer.

fabricelens

NEW il y a 7 mois

jicehel jicehel

Merci, Bonne fêtes également à l'équipe, j'aurai le temps de bidouiller le temps que le forum revienne à la normal, j'ai déja un bonne esquisse d'un petit mix pong/foot donc de quoi m'amuser et de l'améliorer.

jeremy130710

NEW il y a 2 mois

Bonjour, j'ai suivi le tuto sur "gb.gui.menu" et j'ai compris comment créer le menu et l'afficher mais pas comment interagir avec celui-ci. Par exemple pour le jeu du pong, si on veut créer un menu au début pour choisir la couleur de la raquette, on fait comment ?

chris-scientist

il y a 2 mois

Bonjour,

Pour faire un menu qui choisi la couleur de la raquette tu peux faire ceci :

Color buildMenu() {
  const char* items[] = {
    "Blue",
   "White",
   "Red"
  };

  const uint8_t indexItem = gb.gui.menu("Menu", items);
  Color choice = BLUE;
  if(items[indexItem] == "White") {
    choice = WHITE;
  } else if(items[indexItem] == "Red") {
    choice = RED;
  }
  return choice;
}


N'hésite pas à nous dire si tu as besoin de plus d'info.

chris-scientist

NEW il y a 2 mois

jeremy130710 jeremy130710

Bonjour,

Pour faire un menu qui choisi la couleur de la raquette tu peux faire ceci :

Color buildMenu() {
  const char* items[] = {
    "Blue",
   "White",
   "Red"
  };

  const uint8_t indexItem = gb.gui.menu("Menu", items);
  Color choice = BLUE;
  if(items[indexItem] == "White") {
    choice = WHITE;
  } else if(items[indexItem] == "Red") {
    choice = RED;
  }
  return choice;
}


N'hésite pas à nous dire si tu as besoin de plus d'info.