You could just draw the rectangle directly on the graphics of the
DrawRectangle:

           graphics.lineStyle(1, 0xFF0000);
           graphics.beginFill(0xFF0000, .3);
           graphics.drawRect(_x,_y,_w,_h);

Because it extends MovieClip (or Sprite, hopefully, as Steven suggests, it
has its own graphics property.

Then you can think about renaming your class from DrawRectangle to
Rectangle, since it not only draws it, it is one.

-jonathan


On Mon, Mar 24, 2008 at 6:59 PM, Omar Fouad <[EMAIL PROTECTED]> wrote:

> Aha I get it... But can I make a work out in order not to put addChild()
> in
> the main Class? I mean that once I Make an Instance of the class it adds
> it
> on the stage by itself.
>
>
> Thanks
>
> On Mon, Mar 24, 2008 at 11:27 PM, Cory Petosky <[EMAIL PROTECTED]
> >
> wrote:
>
> > To clarify Jason's response:
> >
> > You're adding two different things. In the first case, you're adding a
> > child movieclip (with a rectangle drawn inside it) to the empty
> > DrawRectangle instance. In the second case, you're adding the
> > DrawRectangle instance to the screen.
> >
> > You should rewrite your init function so that it draws directly to the
> > instance:
> >
> >       private function Init():void {
> >           graphics.lineStyle(1, 0xFF0000);
> >           graphics.beginFill(0xFF0000, .3);
> >            graphics.drawRect(_x,_y,_w,_h);
> >            graphics.endFill();
> >       }
> >
> > Finally, since this class does not have frames, it should extend
> > Sprite, not MovieClip.
> >
> > On Mon, Mar 24, 2008 at 4:01 PM, Omar Fouad <[EMAIL PROTECTED]>
> > wrote:
> > > I am creating a custom Class that draws a simple rectangle for an
> > >  application. Here is the class
> > >
> > >  DrawRectangle.as
> > >
> > >  public class DrawRectangle extends MovieClip {
> > >
> > >         public var _w:Number;
> > >         public var _h:Number;
> > >         public var _x:Number;
> > >         public var _y:Number;
> > >
> > >         public function DrawRectangle(w:Number, h:Number, x:Number,
> > >  y:Number) {
> > >             this._w = w;
> > >             this._h = h;
> > >             this._x = x;
> > >             this._y = y;
> > >             Init();
> > >         }
> > >         private function Init():void {
> > >             var MC:MovieClip = new MovieClip();
> > >             MC.graphics.lineStyle(1, 0xFF0000);
> > >             MC.graphics.beginFill(0xFF0000, .3);
> > >             MC.graphics.drawRect(_x,_y,_w,_h);
> > >             addChild(MC);
> > >         }
> > >
> > >     }
> > >  }
> > >
> > >  I wrote it without the last line ( addChild(MC) ) and it didnt work.
> It
> > did
> > >  not work Event when In the Main Class I added the addChild() like
> this:
> > >
> > >
> > >  var M:DrawRectangle = new Rectangle(100,100,20,100);
> > >
> > >  addChild(M);
> > >
> > >
> > >  I thought The addChild should be put outside the class. And No It
> only
> > >  worked when I add the addChild() in the class and out the class... It
> > works
> > >  But I want to understand Why??
> > >  How can I set it to draw from the class iteself??
> > >
> > >  Thanks.
> > >
> > >
> > >  --
> > >  Omar M. Fouad - Digital Emotions
> > >  http://www.omarfouad.net
> > >
> > >  This e-mail and any attachment is for authorised use by the intended
> > >  recipient(s) only. It may contain proprietary material, confidential
> > >  information and/or be subject to legal privilege. It should not be
> > copied,
> > >  disclosed to, retained or used by, any other party. If you are not an
> > >  intended recipient then please promptly delete this e-mail and any
> > >  attachment and all copies and inform the sender. Thank you.
> > >  _______________________________________________
> > >  Flashcoders mailing list
> > >  [email protected]
> > >  http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> > >
> >
> >
> >
> > --
> > Cory Petosky : Lead Developer : PUNY
> > 1618 Central Ave NE Suite 130
> > Minneapolis, MN 55413
> > Office: 612.216.3924
> > Mobile: 240.422.9652
> > Fax: 612.605.9216
> > http://www.punyentertainment.com
> > _______________________________________________
> > Flashcoders mailing list
> > [email protected]
> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
> >
>
>
>
> --
> Omar M. Fouad - Digital Emotions
> http://www.omarfouad.net
>
> This e-mail and any attachment is for authorised use by the intended
> recipient(s) only. It may contain proprietary material, confidential
> information and/or be subject to legal privilege. It should not be copied,
> disclosed to, retained or used by, any other party. If you are not an
> intended recipient then please promptly delete this e-mail and any
> attachment and all copies and inform the sender. Thank you.
> _______________________________________________
> Flashcoders mailing list
> [email protected]
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>



-- 
-jonathan howe :: 404.434.2321 :: 180 High St Apt 26 Portland, ME 04101
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to