29. Créer un bouton de bascule Plein Écran / Fenêtré

Dans cet épisode, nous allons apprendre à gérer l’affichage de notre jeu en permettant aux joueurs de basculer dynamiquement entre le mode “Plein écran” et le mode “Fenêtré”. Pour ce faire, nous utiliserons les Blueprints pour manipuler les variables d’état et les commandes de console intégrées à Unreal Engine 4.

Résumé de la mise en place#

  • Gestion d’état : Création d’une variable booléenne PleinEcran (par défaut à true) pour suivre le mode d’affichage actuel.
  • Logique de bascule : Utilisation d’un nœud Branch pour tester la valeur de la variable à chaque clic sur le bouton.
  • Mode Fenêtré : Utilisation de la commande r.SetRes 1280x720w pour forcer une résolution spécifique en mode fenêtré.
  • Mode Plein Écran dynamique :
    • Récupération des résolutions supportées via Get Supported Fullscreen Resolutions.
    • Extraction de la résolution maximale via le dernier index du tableau (Last Index).
    • Utilisation du nœud Append pour construire dynamiquement la commande r.SetRes avec les valeurs X et Y récupérées, suivie du paramètre f pour le plein écran.
  • Mise à jour de l’état : Utilisation du nœud Set pour inverser la valeur de la variable PleinEcran après chaque changement.

Ce qui reste d’actualité aujourd’hui#

Bien que les versions récentes d’Unreal Engine (UE5) proposent des nœuds plus modernes comme Set Game User Settings, la logique présentée ici reste fondamentale pour comprendre :

30. Créer un menu de victoire dans Unreal Engine 4

Dans cet épisode, nous allons finaliser l’expérience utilisateur en ajoutant un écran de victoire. Lorsqu’un joueur atteint la zone de fin de niveau, il est crucial de lui offrir un retour visuel clair avec des options pour continuer à jouer ou quitter l’application. Nous allons voir comment créer ce Widget, le lier à notre zone de victoire et gérer les interactions à la souris.

Résumé de l’implémentation#

  • Création du Widget : Création d’un nouveau Widget Blueprint nommé HUD_Victoire dans le dossier UI.
  • Design : Mise en place d’une image de fond et de deux boutons (Rejouer et Quitter).
  • Logique des boutons :
    • Quitter : Utilisation de la commande Execute Console Command avec la commande quit.
    • Rejouer : Utilisation de Open Level pour charger la scène du menu principal.
  • Déclenchement : Modification du Blueprint Zone_Victoire pour remplacer la fermeture du jeu par l’affichage du widget.
  • Interaction : Utilisation de Set Show Mouse Cursor via le Player Controller pour permettre au joueur de cliquer sur les boutons.

Ce qui reste d’actualité aujourd’hui#

Bien que les versions d’Unreal Engine aient évolué (notamment avec l’arrivée d’UE5), les principes fondamentaux abordés ici restent le standard de l’industrie :

31. Création d''un menu de défaite (Game Over) dans Unreal Engine 4

Dans cet épisode, nous allons finaliser l’expérience utilisateur en cas d’échec dans votre jeu. Plutôt que de laisser le joueur face à un écran figé, nous allons implémenter un menu de “Game Over” fonctionnel. L’approche choisie ici est l’optimisation : au lieu de repartir de zéro, nous allons dupliquer notre interface de victoire pour y intégrer un message d’alerte tout en conservant les options de navigation essentielles (rejouer ou quitter).

45. Préparation du second niveau et optimisation de l''UI

Dans cet épisode, nous faisons une pause dans la complexité technique pour préparer la structure de notre second niveau. L’objectif est de valider que nos systèmes de gameplay (checkpoints, zones de mort, collecte de pièces) sont modulaires et réutilisables. Nous en profitons également pour refactoriser l’affichage de notre interface utilisateur (UI) afin de la rendre globale et automatique.

Résumé de l’épisode#

  • Modularité des assets : Création d’un second niveau en réutilisant les blueprints existants (pièces, checkpoints, zones de kill).
  • Refactorisation de l’UI : Déplacement de la logique d’affichage du widget (Create Widget / Add to Viewport) du Level Blueprint vers le Character Blueprint.
  • Avantage de l’approche : En plaçant l’UI dans le personnage, celle-ci s’initialise automatiquement à chaque chargement de niveau, évitant de dupliquer du code dans chaque Level Blueprint.
  • Constat technique : Le score actuel est local au niveau. Le passage d’un niveau à l’autre réinitialise les variables, ce qui introduit la nécessité d’un système de persistance de données (GameInstance).

Ce qui reste d’actualité aujourd’hui#

Bien que cet épisode se concentre sur Unreal Engine 4, les principes fondamentaux abordés restent des piliers du développement sous Unreal Engine 5 :

47. Création d''un menu de sauvegarde et gestion de l''interface

Dans cet épisode, nous posons les bases techniques nécessaires à la mise en place d’un système de sauvegarde persistante. Avant de manipuler les données, il est indispensable de créer une interface utilisateur (UI) permettant au joueur d’interagir avec le système de sauvegarde. Nous allons voir comment créer un menu simple et gérer son affichage via le Blueprint de votre personnage.

Résumé de la mise en place#

  • Création du Widget : Conception d’un menu basique contenant deux boutons (sans logique pour le moment).
  • Logique d’affichage (Flip Flop) : Utilisation du node Flip Flop pour alterner entre l’ouverture et la fermeture du menu à chaque pression de la touche ‘P’.
  • Gestion des variables : Stockage du widget dans une variable (W_Menu) pour pouvoir le manipuler (l’ajouter au viewport ou le supprimer) sans avoir à le recréer.
  • Interaction souris : Utilisation du node Set Show Mouse Cursor pour permettre au joueur de cliquer sur les boutons, en ciblant correctement le Player Controller.
  • Nettoyage : Utilisation de Remove from Parent pour libérer l’interface de l’écran.

Ce qui reste d’actualité aujourd’hui#

Bien que les versions d’Unreal Engine aient évolué, les principes fondamentaux abordés ici restent des piliers du développement :

Créer un menu contrôlé à la manette sur Construct 2

Dans ce tutoriel, nous allons voir comment concevoir un menu interactif et esthétique pour vos jeux sur Construct 2, en remplaçant la traditionnelle navigation à la souris par une gestion complète à la manette (Gamepad). L’objectif est de créer une interface fluide où les boutons réagissent visuellement à la sélection.

Résumé des étapes clés#

  • Variables et Fonctions : Utilisation d’une variable globale bouton pour suivre l’index de l’élément sélectionné et d’une fonction CH_bouton pour centraliser la logique de navigation (incrémentation/décrémentation).
  • Gestion du Gamepad : Utilisation de l’objet Gamepad pour détecter les pressions sur le D-Pad (haut/bas) et le bouton de validation (A).
  • Boucle Every Tick : Mise en place d’une vérification constante pour appliquer un effet visuel (agrandissement via Set Scale) sur le bouton actif.
  • Optimisation : Réinitialisation de la taille des boutons à chaque appel de fonction pour éviter les conflits d’affichage sans multiplier les lignes d’événements.
  • Navigation : Utilisation de la condition On Button Pressed couplée à des sous-événements pour rediriger le joueur vers les différents Layouts (Aventure, Options, etc.).

Ce qui reste d’actualité aujourd’hui#

Bien que Construct 2 soit un moteur plus ancien, les principes fondamentaux abordés ici restent parfaitement transposables dans Construct 3 ou d’autres moteurs 2D :