Etape 2: La classe de Texture
Avant de sauter dans les calculs pour trouver comment l’écran devrait ressembler je vais faire un détour et de mettre en place une classe de Texture. Textures s’appliquera aux parois diverses dans l’environnement et proviendront d’images enregistrées dans le dossier du projet. Dans les images, j’ai inclus 4 textures, que j’ai trouvé en ligne que j’utiliserai dans ce projet. Vous pouvez utiliser quelque textures que vous voulez. Pour utiliser ces textures je recommande de les mettre dans un dossier dans le fichier projet. Pour ce faire, allez dans le dossier de projet (dans eclipse, qu'il se trouve dans le dossier d’espace de travail). Après avoir obtenu dans le dossier de projet, créez un dossier intitulé « patrimoine » ou quelque chose. Placez les textures dans ce dossier. Vous pouvez placer les textures quelque part d’autre, c’est juste où je stocke mes textures. Une fois cela fait nous pouvons commencer à écrire le code pour rendre les textures utilisables.
Les importations pour la classe sont :
L’en-tête de la classe et ses variables ressemblera à ceci :
Les pixels de tableau est utilisé pour stocker les données pour tous les pixels de l’image de la texture. Loc est utilisée pour indiquer à l’ordinateur où se trouve le fichier image de la texture. TAILLE est la taille la texture est sur une face (une image 64 x 64 aurait taille 64), et toutes les textures seront parfaitement à l’équerre.
Le constructeur s’initialisera le loc et de variables de taille et appel l’une méthode pour charger les données de l’image en pixels. Il ressemble à ceci :
Maintenant tout ce qui reste de la classe de Texture consiste à ajouter une méthode load pour obtenir des données d’images et de les stocker dans un tableau de données de pixels. Cette méthode ressemble à ceci :
La méthode load fonctionne par la lecture des données du fichier vers laquelle pointe loc et écrit ces données à une image dans la mémoire tampon. Les données pour chaque pixel sont alors prises de l’image dans la mémoire tampon et stockées en pixels.
À ce stade, la classe de Texture est faite, alors je vais y aller et de définir quelques textures qui seront utilisés dans le programme final. Pour ce faire mettre ce
entre la ligne « public class Texture » et "public int [] pixels".
Pour rendre ces textures accessible pour le reste du programme allons-y et les donner à la classe de jeu. Pour ce faire, nous aurons besoin d’un ArrayList pour contenir tous les textures, et nous aurons besoin d’ajouter les textures à cette ArrayList. Pour créer l’instance ArrayList mettez la ligne suivante de code avec des variables vers le haut de la classe :
Cette ArrayList devront être initialisé dans le constructeur, et les textures devraient aussi figurer à elle dans le constructeur. Dans le constructeur ajoute le bit suivant du code :
Et maintenant les textures sont prêt à partir !