Outils pour utilisateurs

Outils du site


nsi:tds:pygame:candycrush:loader

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
nsi:tds:pygame:candycrush:loader [2023/11/07 15:29] – créée goupillwikinsi:tds:pygame:candycrush:loader [2023/11/08 15:07] (Version actuelle) goupillwiki
Ligne 15: Ligne 15:
  
 IMAGES = { IMAGES = {
-    "rouge":'la_gemme_rouge.png'+    "banane":"banane.png"
-    "vert":'la_gemme_verte.png'+    "cerise":"cerise.png"
-    "bleu":'la_gemme_bleue.png',+    "orange":"orange.png", 
 +    "poire":"poire.png", 
 +    "pomme":"pomme.png"
 } }
  
Ligne 25: Ligne 27:
  
  
-def load(name):+def load(name, width, height):
     """     """
     accède à l'image d'identifiant name.     accède à l'image d'identifiant name.
Ligne 31: Ligne 33:
     renvoie l'image.     renvoie l'image.
     """     """
-    if name not in loaded:+    key = (name, width, height) 
 +    if key not in loaded:
         filename = IMAGES.get(name, "defaut.png")         filename = IMAGES.get(name, "defaut.png")
         image = pygame.image.load(FOLDER + filename)         image = pygame.image.load(FOLDER + filename)
         image = image.convert_alpha()         image = image.convert_alpha()
-        loaded[name] = image +        image = pygame.transform.scale(image, (width, height)) 
-    return loaded[name]+        loaded[key] = image 
 +    return loaded[key]
 </code> </code>
  
 Quelques mots d'explications : Quelques mots d'explications :
   * On créera un sous-dossier ''images'' pour contenir les fichier image.   * On créera un sous-dossier ''images'' pour contenir les fichier image.
-  * Pour les cas d'erreur, on place une image par défaut dans ce dossier. On l'appelera ''defaut.png'' +  * Pour les cas d'erreur, on place une image par défaut dans ce dossier. On l'appellera ''defaut.png'' 
-  * ''IMAGES'' permet d'associer une clé, par exemple ''%%"vert"%%'' à un nom de fichier ''%%"la_gemme_verte.png"%%''. Dans le programme on aura donc plus besoin de se soucier des noms de fichier, on pourra se contenter d'indiquer la clé. **Naturellement, il faut créer ces fichiers !**+  * ''IMAGES'' permet d'associer une clé, par exemple ''%%"orange"%%'' à un nom de fichier ''%%"orange.png"%%''. Dans le programme on aura donc plus besoin de se soucier des noms de fichier, on pourra se contenter d'indiquer la clé. **Naturellement, il faut créer ces fichiers !**
   * ''loaded'' gardera en mémoire toutes les images précédemment chargées.   * ''loaded'' gardera en mémoire toutes les images précédemment chargées.
   * Lorsque l'on charge une image, on précise le nom de la clé. Si l'image correspondante n'est pas déjà chargée, on récupère le nom de fichier, on charge l'image et on la stocke dans ''loaded''.   * Lorsque l'on charge une image, on précise le nom de la clé. Si l'image correspondante n'est pas déjà chargée, on récupère le nom de fichier, on charge l'image et on la stocke dans ''loaded''.
Ligne 55: Ligne 59:
  
 <code python> <code python>
-image = loader.load(name)+image = loader.load(name, 40, 40)
 </code> </code>
 +
 +Je vous ai préparé quelques images. Vous êtes libre d'en prendre d'autres. {{ :nsi:tds:pygame:candycrush:fruits.zip |}}
nsi/tds/pygame/candycrush/loader.1699367384.txt.gz · Dernière modification : de goupillwiki