1
Suggestions de nouvelles fonctionnalités / Déshériter Sprite et ses soeurs de Transformable
« le: Mai 01, 2012, 11:44:20 pm »
Sprite, Text et Shape deviennent de simples Drawable. Mais on leur crée une méthode attachToTransformable(sf::Transformable&) pour que Draw fonctionne quand même. Pour cette méthode, il faut peut-être créer une classe intermédiaire.
En théorie, c'est un bon choix. Le visuel et le reste ne doivent pas être mélangés, et c'est très bien qu'il y ait des classes Drawable et Transformable séparées. Le problème, c'est qu'à partir de la génération de Sprite, les deux sont à nouveaux mélangés !
Finalement, on peut se retrouver avec des hacks comme un attribut Sprite auquel on passe les coordonnées de sa propre classe, et ça fait doublon.
Ca permet plus de flexibilité pour l'utilisateur. Il peut faire hériter sa propre classe Player, Actor ou Spaceship de Transformable au lieu de Sprite et à la place il utilise un attribut de son choix pour s'attacher à un Drawable autre que VertexArrays. Ça permet entre autre de pouvoir changer de Drawable en gardant les mêmes transformations. Par exemple, ça permet de simplifier les groupes. On crée un seul Transformable auxquels plusieurs Drawable sont liés.
En théorie, c'est un bon choix. Le visuel et le reste ne doivent pas être mélangés, et c'est très bien qu'il y ait des classes Drawable et Transformable séparées. Le problème, c'est qu'à partir de la génération de Sprite, les deux sont à nouveaux mélangés !
Finalement, on peut se retrouver avec des hacks comme un attribut Sprite auquel on passe les coordonnées de sa propre classe, et ça fait doublon.
Ca permet plus de flexibilité pour l'utilisateur. Il peut faire hériter sa propre classe Player, Actor ou Spaceship de Transformable au lieu de Sprite et à la place il utilise un attribut de son choix pour s'attacher à un Drawable autre que VertexArrays. Ça permet entre autre de pouvoir changer de Drawable en gardant les mêmes transformations. Par exemple, ça permet de simplifier les groupes. On crée un seul Transformable auxquels plusieurs Drawable sont liés.