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
>  Flashcoders@chattyfig.figleaf.com
>  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
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to