I would suggest trying Xray as well ;) all the headache you guys are working through right here has already been done with Xray
Features: http://www.osflash.org/xray#features Downloads: http://labs.blitzagency.com/?p=45 Video tutorials: http://labs.blitzagency.com/wp-content/xray/videos/tutorials/indexFlash.html let me know if you have any questions John On 12/1/05, Mark Winterhalder <[EMAIL PROTECTED]> wrote: > > On 12/2/05, Mark Winterhalder < [EMAIL PROTECTED]> wrote: > > On 12/2/05, Marc Hoffman <[EMAIL PROTECTED]> wrote: > > > Jay, > > > > > > If you got this to work, could you send me the code? I can't make it > > > work even when doing the obvious clean-up to the line breaks and > > > changing naming conventions to AS2 (e.g. "Boolean" rather than > "boolean"). > > > > you can give the one i just hacked together proper testing, if you > > like, and let me know if it works... > > forgot to check for the tag to avoid unwanted recursion. it didn't > cause a problem in my initial test because i had limited the recursion > depth (the ttl argument). sorry for the noise. > > var types:Object = { movieclip: 1, object: 2, array: 4 }; > var objTrace:Function = function( obj:Object, name2:String, > mask:Number, ttl:Number, indent:String, traceID:String ) { > if( !indent.length ) indent = "\t"; > if( !( traceID.length ) ) traceID = String( getTimer() ); > if( !ttl ) ttl = 0; > if( !mask ) mask = -1; > if( !( arguments.callee.$$tag == traceID ) ) { > arguments.callee.$$tag = traceID; > arguments.callee.idCntr = 0; > } > var type:String = typeof obj; > var id:String; > if( types[ type ] ) { > if( obj.$$id.length ) id = obj.$$id; > else { > id = obj.$$id = String( arguments.callee.idCntr++ ); > _global.ASSetPropFlags( obj, "$$id", 1, 0 ); > } > } else id = ""; > > trace( id + indent + name2 + " : " + type + ( id.length ? "" : " > \tvalue: " + obj ) ); > if( !( types[ type ] & mask ) || ( obj.$$tag == traceID ) ) return; > obj.$$tag = traceID; > _global.ASSetPropFlags( obj, "$$tag", 1, 0 ); > indent += "\t"; > if( !( --ttl ) ) return; > for( var i:String in obj ) > arguments.callee( obj[ i ], i, mask, ttl, indent, traceID ); > }; > > > usage: > (if it works at all) > > objTrace( object, name, mask, ttl ); > where: > object is the root object of the trace, e.g. _root, > name is the name of the first object, e.g. "_root" > mask defines which kind of objects to follow, you define it by adding > their respective bits as defined in the types object in the first > line. so, 1 would only follow movieclips, 5 would follow movieclips > and arrys, but not objects (1 + 4), 6 would follow objects and arrays > (2 + 4), and so on. omitting it (or passing 0) would follow all of > them. another way is to pass something like that: ( types[ "movieclip" > ] | types[ "object" ] | types[ "array" ] ), with the ones you want to > include. > ttl is the time to live, e.g. the depth of the recursion. 0 is unlimited. > indent and traceID are best omitted initially. > > so, to trace all, you would simply say: > objTrace( _root, "_root" ); > to trace all clips, but not objects and arrays: > objTrace( _root, "_root", 1 ); > to trace all clips and all objects, but only to the grandchildren of root: > objTrace( _root, "_root", 3, 3 ); > and so on. > > -- > http://snafoo.org/ > jabber: [EMAIL PROTECTED] > _______________________________________________ > Flashcoders mailing list > [email protected] > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > -- John Grden - Blitz _______________________________________________ Flashcoders mailing list [email protected] http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

