Bonjour à tous !
1er message pour moi ici, donc je vous salue bien bas
Voilà, j'ai quelques ptites notions de Flash, mais là je pige pas trop.
J'ai une classe nommée ToolTipTextManager (oui, en fait après un rapide coup d'oeil j'ai pas trouvé de tooltiptexts pour les composants donc j'ai fait un manager voilou).
Dans cette classe à la base j'avais des attributs static, genre des "defines" pour le délai d'affichage, et le délai de cachage (quel joli mot), mais le reste était NON STATIC :
private var toolTipAreas:Array = new Array(); // Contient les rectangles sensibles au tooltip
Et bien, quand je fais :
var tttManager = new ToolTipTextManager();
Le constructeur n'est meme pas appelé![]()
(je crée un tttManager pour chaque clip enfant que je load dans un container, donc à priori chaque tttManager est supprimé lorsque j'appelle removeMovieClip())
Encore pire : si j'ajoute des tooltipAreas (public function addToolTipText(obj:Object, _ttt:String))
Et bien ca vient s'ajouter a ceux du tttManager précédent qui normalement aurait du etre supprimé, ainsi que tous ses attributs non-static, lors de l'appel a removeMovieClip(). Et meme s'il n'avait pas été supprimé, il s'agit ici d'une autre instance de cette classe, qui devrait donc avoir un Array vide...![]()
Voila donc mon probleme, on dirait que Flash a considéré cet attribut comme étant static. Si quelqu'un sait pourquoi ? Je n'ai jamais eu ce probleme avant (j'ai fait un jeu style worms, donc j'ai un minimum de connaissances rudimentaires tout de meme)
Merci de votre aide !![]()
Lideln
Partager