6 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
NEW 6 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,
};
NEW 6 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.
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.
NEW 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.
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.
NEW 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.