MENU DU JEU

fabricelens

5 years ago

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 5 years ago

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

5 years ago

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 5 years ago

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 5 years ago

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

5 years ago

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 5 years ago

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 5 years ago

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

5 years ago

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 5 years ago

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.