Ahhh HA! I was reading the adobe documentation and it turns out that
when you do addchild() it calls updateDisplayList again. This is why
my program wasn't working, I had an infinite loop when I called addchild.
I fixed it by adding an if function with a flag.
if (_newBackground){
...
}
Since my updatedisplaylist was being called twice, once with 0
unscaledWidth and once with an unscaledWidth, I had to add another
condition.
if (_newBackground && unscaledWidth != 0) {
...
}
Now I can't seem to get the component to scale with the rest of the
app when the browser window opens. I'm going to start a new thread
for that question.
-Nate
--- In [email protected], "Nate Pearson" <[EMAIL PROTECTED]> wrote:
>
> So I think i got unScaledWidth to work during UpdateDisplayList. When
> I debug it seems like it's called twice. Once with 0 unscaledWidth
> and once with the correct unScaledWidth. Should I be worrying about
> this? I didn't override the measure function. Should I?
>
> So to draw in UpdateDisplayList you have to manipulate graphics like
this:
> graphics.lineStyle(0,0x000000, 0);
> graphics.beginFill(0xffffff, 1);
> graphics.drawRect(0,0,unscaledWidth/2,unscaledHeight);
> graphics.endFill();
>
> But what if I want to draw shapes or UIcomponents? That's why It
> wasn't working for me before, i was drawing like this:
> var shape:Shape = new Shape();
> shape.graphics.lineStyle(0,0x000000, 0);
> shape.graphics.beginFill(0xffffff, 1);
> shape.graphics.drawRect(0,0,unscaledWidth/2,unscaledHeight);
> shape.graphics.endFill();
> //When i do the add child my program won't load!
> //addChild(shape);
>
> I watched Ely's component video and it says I can add UIComponents,
> sprites and shapes to UpdateDisplayList. Does anyone know what I'm
> doing wrong?
>
> Thanks!
>
> -Nate
>
>
> --- In [email protected], "Alex Harui" <aharui@> wrote:
> >
> > You can always call validateNow() to force validation, but you
shouldn't
> > be drawing in commitProperties in most cases. Most drawing should
be in
> > updateDisplayList
> >
> > ________________________________
> >
> > From: [email protected]
[mailto:[EMAIL PROTECTED] On
> > Behalf Of Nate Pearson
> > Sent: Monday, March 26, 2007 3:53 PM
> > To: [email protected]
> > Subject: [flexcoders] Re: Custom Component Width when 100%?
> >
> >
> >
> > I can't seem to get the width/height at measure() or
> > updateDisplayList(). Is there a specific function I have to call?
> >
> > Isn't there a way to get the height/width before measure? I'm drawing
> > during commit properties so I would like to get it then.
> >
> > Thanks for your reply.
> >
> > --- In [email protected]
<mailto:flexcoders%40yahoogroups.com>
> > , "Alex Harui" <aharui@> wrote:
> > >
> > > It depends on when you ask. Components have a multi-stage validation
> > > mechanism. Their properties get set in stage1, measured in stage2,
> > > layed out in stage 3. Until measurement, they are zero width/height
> > >
> > > ________________________________
> > >
> > > From: [email protected]
<mailto:flexcoders%40yahoogroups.com>
> > [mailto:[email protected]
<mailto:flexcoders%40yahoogroups.com>
> > ] On
> > > Behalf Of Nate Pearson
> > > Sent: Monday, March 26, 2007 1:09 PM
> > > To: [email protected]
<mailto:flexcoders%40yahoogroups.com>
> > > Subject: [flexcoders] Custom Component Width when 100%?
> > >
> > >
> > >
> > > I created a custom component that works great when the width is
> > > specified. However, when I try to set the width to a percent (of the
> > > parent) it returns 0. How to I reference the parent's width? I tried
> > > getExplicitOrMeasuredWidth but it didn't work.
> > >
> > > Thanks in advance for the help.
> > >
> >
>