Johnathan:
if there are 6 items on the stage, numChildren = 6 but to access the
6th item you need to be at position [5] of the array, so for ease of
implementation he used:
this.numChildren-1
My test showed that it if he has some screwed up object that does not
match his regex, it will not show, so that is why it shaved one off when
tracing. It still went through the entire array, it just chose not to
output what it didn't like.
I would also like to point out that I changed the loop conditional
expression to see if the counter childnum!=-1 , meaning that if there
were 6 items on the stage, that position 5, 4, 3, 2, 1, and 0 would be
checked, but it would not go further.
So again, the code I tested does work fine, and if you want to be sure,
you can even trace out the childnum value before or after the if
statement in the loop, to see how far it goes.
On 3/19/2010 9:39 AM, jonathan howe wrote:
Just so there is no confusion... that is not the only change you would have
to make. When you do the getChildAt call you'll need to adjust by one for
the index at that time.
I could see why Jiri would have to do this technique if he was handed a
bunch of Stage-authored content from another party and had to access it
somehow.
-jonathan
On Fri, Mar 19, 2010 at 9:34 AM, jonathan howe<[email protected]>wrote:
I think Jiri wants all clips, not all but one. You've repro'd the last one
not showing up.
Jiri, why are you shaving 1 off your numChildren? I'ts a count, not an
index.
Try
var childnum:int=this.numChildren;
instead.
-jonathan
On Thu, Mar 18, 2010 at 8:20 PM, Anthony Pace<[email protected]>wrote:
While I really don't understand why you would want to do things this way,
but...
I tested this code below, with several clips on the stage:
sq_1, sq_12, sq_122, sq_1222a, sq_1212_1212, sq_6dad_12, sq_6d_6d
it worked fine and outputed the obvious results:
sq_1
sq_12
sq_122
sq_1212_1212
sq_6dad_12
var childnum:int=this.numChildren-1;
var pat:RegExp=/_[0-9]+$/;
var instance:DisplayObject;
while (childnum!=-1) {
instance = this.getChildAt(childnum);
if (pat.test(instance.name)) {
trace(instance.name);
}
--childnum;
}
On 3/18/2010 2:08 PM, Jiri wrote:
Hello,
i would like some help, because I am confused.
If have a Movieclip that holds several sprites some of them have instance
names like so
frame_<n> where n is a number.
I then loop through every child of the MovieClip and test the instance
name using regExp.
var childs:int = clip.numChildren-1;
var pat:RegExp = /_[0-9]+$/ig;
while(childs>= 0){
var instance:DisplayObject = clip.getChildAt( childs );
if( pat.test(instance.name) ){
Logger.debug( "info box frame" , instance.name );
}
childs--
}
I have three movieclips called 'frame_0' , 'frame_1' and 'frame_2' for
sure, but it when I run the above code, it only show 1 and 0??
Anybody has an idea?
Jiri
On 11/03/2010 22:16, Guest Services, City Concierge wrote:
We're looking for a coder to some small contract work
We're in Los Angeles
Should know action script very well, and be able to get the flash
scripts to
work in .asp and .php and use XML
Ask for Jefferson
323-874-6610
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
--
-jonathan howe
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders