Je cherche à faire un trace évolué pour tracer des objets complexe tel que celui de la racine "this" ou currentScene etc ...

pour cela j'ai fait une fonction très simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
function traceObj(val:Object,desc:String="",indent:String=""):void {
	var key:String;
	trace(indent+desc+val);
	for (key in val) {
		traceObj(val[key],key+" :",indent+"  ");
	}
}
puis avec cet objet et l'appel de ma fonction ça marche nickel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
var obj1:Object = {x:40, y:60};
var myObj:Object = {x:20, y:30, z:obj1 };
traceObj(myObj,"myObj");
j'ai la trace suivante qui s'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
myObj[object Object]
  x :20
  y :30
  z :[object Object]
    x :40
    y :60
Alors, vous me direz c'est quoi le problème???
si j'apelle ma fonction avec un objet intégré genre
"currentScene" ou "this", il ne trace rien du tout
car la boucle ne considère pas ces objets comme des objets ...

exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
traceObj(currentScene ,"currentScene : ");
 
va m'afficher :
currentScene : [object Scene]
et c'est tout ...

ps. si je désire faire cette usine à gaz, c'est parce que je n'arrive pas debboguer un swf appelé par un autre avec passage de paramètres.
- Les points d'arrêts du module appelé ne sont pas pris en comptes .
- mon debuggage porte essentiellement sur les paramètres passés ...