Tutoriel: créer DonneesVuePartie
#
Créer le ViewData nommé DonneesVuePartie
#
-
En VSCode, créer le paquet
frontal.donnees -
Dans le paquet
donnees, créer la classeDonneesVuePartie -
En VSCode, je m’assure d’avoir l’arborescence suivante
-
Ouvrir
DonneesVuePartieet ajuster la signaturepublic class DonneesVuePartie implements ViewData { -
Utiliser Ctrl+.Eclipse: Ctrl+1 pour ajouter l’
importdeViewData -
Dans
DonneesVuePartie, ajouter les attributs suivantspublic class DonneesVuePartie implements ViewData { private MondePong2d mondePong2d = new MondePong2d(); private String fpsCourant = "0"; }- NOTES:
- le
fpsCourantest une exemple de données spécifique à la Vue - on ne veux pas sauvegarder
fpsCourantdans le fichier.json
- le
- NOTES:
Déclarer DonneesVuePartie
#
-
Ouvrir
FrontalPonget ajouter ce codepublic class FrontalPong implements FrontendFx { //... @Override public void registerViews(ViewRegistrarFx registrar) { // ... // ajouter registrar.registerViewData(DonneesVuePartie.class); }- NOTES
- on déclare
DonneesVuePartiedans le frontal - c’est spécifique au frontal, le dorsal n’a pas accès à cet classe
- on déclare
- NOTES
-
Utiliser Ctrl+.Eclipse: Ctrl+1 pour ajouter l’
importdeDonneesVuePartie
Instancier notre DonneesVuePartie avec une tâche
#
-
Dans le paquet
frontal.taches, créer la classeAfficherPartie -
En VSCode, je s’assurer d’avoir l’arborescence suivante
-
Ouvrir
AfficherPartieet ajouter le code suivantimport static ca.ntro.app.tasks.frontend.FrontendTasks.*; public class AfficherPartie { public static void creerTaches(FrontendTasks tasks) { creerDonneesVuePartie(tasks); } private static void creerDonneesVuePartie(FrontendTasks tasks) { tasks.task(create(DonneesVuePartie.class)) .executesAndReturnsValue(inputs -> { return new DonneesVuePartie(); }); } }- NOTES
- ne pas oublier le
import static
import static ca.ntro.app.tasks.frontend.FrontendTasks.*;
- ne pas oublier le
- NOTES
-
Utiliser Ctrl+.Eclipse: Ctrl+1 et je corriger les erreurs de compilation
-
Ouvrir
FrontalPonget ajouter l’appel à la méthodeAfficherPartie.creerTachespublic class FrontalPong implements FrontendFx { @Override public void createTasks(FrontendTasks tasks) { // ... // ajouter AfficherPartie.creerTaches(tasks); }
Tester que ça fonctionne #
-
S’assurer que
AppPongs’exécute sans erreurs$ sh graldew pong -
Vérifier le graphe de mon frontal:
- NOTE: les tâches suivantes sont optionnelles:
changerTaillePolicechangerLangueviewLoader[FragmentUneLangue]
- NOTE: les tâches suivantes sont optionnelles: