44Fermer46
deleted2Le 23/04/2010 à 17:38
Ok, vu Adapter. Pas mal en effet, ça permet de s'abstraire complètement de la manière de faire (genre on peut changer de lib graphique on ne remet pas tout en cause).

Alors allons-y. C'est peut-être pas bien, mais j'ai envie de commencer non par le moteur de jeu à proprement parler (la bataille quoi), mais par l'interface (écran de démarrage où l'on choisit ce qu'on fait : charger une partie, en démarrer une nouvelle, quitter etc...).
Il y a plusieurs écrans de ce style à concevoir, qui n'utilisent que des icones et quelques listes scrollables dans une zone donnée. Je pensais implémnter ça, parce que j'ai pour habitude de commencer par les choses simples dans mes programmes. Peut-être est-ce un tort. Le seul point commun que je vois entre l'interface de jeu et l'interface d'accueil/choix de ce qu'on fait sont les icones.

Une page de l'interface "hors-jeu" ressemble à ça : tromb Fichier joint : h2EJ (screen14.png)

J'ai donc à designer pour le moment :
- un curseur qui se ballade sur la totalité de l'écran
- des icones qu'on peut cliquer et qui réagissent au passage de la souris
- des emplacements de listes déroulantes avec deux flèches pour faire défiler le contenu de la liste
- un fond d'écran (une image fixe)

commençons par le curseur :
Si je choisis de tout redessiner à chaque frame (je descend pas trop bas en disant ça ?), j'ai juste besoin de récupérer les coordonnées du curseur() et de l'afficher()
Je vois donc une classe avec :
- les coordonnées de la souris, accessibles par les autres classes pour les effets de survol par exemple (tiens, un accesseur à écrire)
- une méthode d'affichage
- le sprite de la souris

Ensuite pour les icones, il faut :
- les afficher()
- les modifier au survol()
- les modifier en cas de clic()
- leur faire lancer un nouveau module en quittant l'actuel() une fois le clic releasé
- elles doivent connaitre leurs coordonnées à l'écran (qui est de taille fixe)
- elles doivent connaitre leurs dimensions
- elle doivent connaitre l'adresse de leur sprite

Qu'est-ce qui va (pas) ? Je descend trop bas ? J'aborde pas bien les choses du tout ? Je suis déjà trop dans l'implémentation ?