« Pygame/Introduction au module Sprite » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 50 :
Ajouter et déplacer des groupes et des sprites est une opération très rapide, plus rapide que d'utiliser des listes pour tout stocker. Ainsi, vous pouvez très efficacement changer les membres d'un groupe. Les groupes peuvent être utilisés pour fonctionner comme de simples attributs pour chaque objet du jeu. Au lieu de suivre un attribut comme <code>close_to_player</code> pour un groupe d'objets ennemis, vous pourriez les ajouter à un groupe séparé. Lorsque vous aurez besoin d'accéder à tous les ennemis qui sont proches du joueur, vous en aurez déjà la liste, au lieu de parcourir une liste de tous les ennemis, en vérifiant qu'elles ont l'attribut <code>close_to_player</code>. Plus tard dans votre jeu, vous pourrez ajouter plusieurs joueurs, et au lieu d'ajouter des attributs supplémentaires <code>close_to_player2</code>, <code>close_to_player3</code>, vous pourrez facilement ajouter différents groupes correspondant à chacun de ces joueurs.
 
Un autre bénéfice important apporté par l'utilisation des classes ''Sprite'' et ''Group'' est que les groupes permettent la suppression facile des objets du jeu. Dans un jeu où beaucoup d'objets font référence à d'autres objets, parfois, supprimer un objet peut être très difficile, parce que ça nécessite que sa référence ne soit plus contenue nul part. Supposons que nous ayons un objet qui en ''poursuive'' un autre. Le ''poursuivant'' pourra avoir alors défini un simple groupe qui fait référence à l'objet (ou aux objets) qui qu'il est entrainen train de poursuivre. Si l'objet ''poursuivi'' est détruit, nous n'avons pas besoin de nous soucier de dire au ''poursuivant'' d'arrêter de le ''poursuivre''. Le ''poursuivant'' pourra voir de lui même que son groupe de ''poursuivis'' est maintenant vide, et pourra chercher une nouvelle cible.
 
Encore une fois, la chose dont il faut se rappeler est que ajouter ou supprimer des sprites d'un groupe est une opération très peu consommatrice en temps de calcul. Vous pouvez gagner en efficacité en constituant directement plusieurs groupes pour contenir et organiser les objets du jeu. Ils peuvent rester inutilisés et vides pour de grandes parties du jeu, vous n'avez pas besoin de vous en occuper, il n'y aura aucune contrepartie si vous créez directement tous les groupes dont vous pensez avoir besoin, sans les utiliser au premier abord.