|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : juillet 2006 Messages : 127 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Étudiant Inscription : décembre 2003 Messages : 916 ![]() |
Salut,
c'est un bug connu de flash @++ |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juillet 2006 Messages : 127 ![]() |
Hello the captain !
Merci pour ta réponse rapide Ah oki donc c'est un bug connu, c'est déjà rassurant, c'est pas moi code comme un goret :p D'accord, donc je les initialise à null dans leur déclaration, et je les instancie (new Array()) dans le constructeur... Sauf que comme je l'avais dit le constructeur n'est jamais appelé (j'avais mis un trace, jamais affiché).Est ce que si je fais : var tttManager = new ToolTipTextManager(); C'est différent de : var tttManager:ToolTipTextManager = new ToolTipTextManager(); ?? Est ce que dans le 1er cas il est possible que le constructeur ne soit PAS appelé mais qu'il le soit que dans le 2eme ? Merci en tous cas pour cette réponse qui m'éclaire bien Lideln |
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() ![]() Étudiant Inscription : décembre 2003 Messages : 916 ![]() |
re,
Citation:
@++ |
|
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : juillet 2006 Messages : 127 ![]() |
Bien vu captain !
function ToolTipManager() au lieu de function ToolTipTextManager() Bien joué, et merci du coup de main (par contre entre temps j'avais tout passé en static, me disant que de toutes facons l'instancier ne servirait à rien...) A+ Lideln ps : pour le typage voui, je le fais tout le temps, pour que ce soit comme en C/C++ ou Java. Par contre je pensais que l'erreur venait de là et qu'on ne pouvait appeler le constructeur que sur une variable typée... Merci encore |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() ![]() Étudiant Inscription : décembre 2003 Messages : 916 ![]() |
re,
ouais le gros problème de flash (enfin je trouve) c'est le typage fort, ce qui fait que les gens ayant moins l'habitude du code (ceux ayant l'habitude aussi d'ailleurs) font facilement des erreurs et passent des heures à les chercher. Enfin avec AS3, le typage fort ne servira pas uniquement à la compilation, mais aussi au runtime donc y a un gros progès de ce coté-la @++ |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : juillet 2006 Messages : 127 ![]() |
Oula ca sent la grosse mise a jour de flash là, je vais m'intéresser au sujet, histoire de pas être trop en retard ^^
J'espère qu'ils feront un truc bien strict, bien sécurisé... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com