Sajid Saiyed
Tue, 01 Sep 2009 19:16:19 -0700
Hi, Thanks all of you for adding your valuable inputs, I am reviewing all suggestions.
Meanwhile, I would like to say that, I am not writing anything in my FLA.
(I guess thats the best practice, is it correct?)
So, ONlything I do in the FLA is declare ClassA as my document root class.
Could that be the problem?
Also the trace in my "someFunction" is getting called.
Then immediately after the trace, I have the code to instantiate ClassB.
The trace immediately after this instantiation does not appear.
Regards
Sajid
On Wed, Sep 2, 2009 at 8:06 AM, Muzak<p.ginnebe...@telenet.be> wrote:
> Works fine here:
>
> ClassA extends ClassC
> ClassB extends ClassC
> ClassC extends ClassD
> ClassD extends MovieClip
>
> // ClassA
> package {
> import flash.events.Event;
> public class ClassA extends ClassC {
> public var b:ClassB;
> public function ClassA():void {
> trace("ClassA ::: CONSTRUCTOR");
> addEventListener(ClassC.MOVE_UP, moveUpHandler);
> }
> protected function moveUpHandler(event:Event):void {
> trace("ClassA ::: moveUpHandler");
> b = new ClassB();
> trace(" - instance 'b': ", b);
> }
> }
> }
>
> // ClassB
> package {
> public class ClassB extends ClassC {
> public function ClassB():void {
> trace("ClassB ::: CONSTRUCTOR");
> }
> }
> }
>
> // ClassC
> package {
> public class ClassC extends ClassD {
> public static const MOVE_UP:String = "moveUp";
> public function ClassC():void {
> trace("ClassC ::: CONSTRUCTOR");
> }
> }
> }
>
> // ClassD
> package {
> import flash.display.MovieClip;
> public class ClassD extends MovieClip {
> public function ClassD():void {
> trace("ClassD ::: CONSTRUCTOR");
> }
> }
> }
>
> In FLA:
>
> var a = new ClassA();
> trace(" - instance 'a': ", a);
> trace(" - disptaching MOVE_UP event on 'a'");
> a.dispatchEvent(new Event(ClassC.MOVE_UP));
>
>
> //Output
>
> ClassD ::: CONSTRUCTOR
> ClassC ::: CONSTRUCTOR
> ClassA ::: CONSTRUCTOR
> - instance 'a': [object ClassA]
> - disptaching MOVE_UP event on 'a'
> ClassA ::: moveUpHandler
> ClassD ::: CONSTRUCTOR
> ClassC ::: CONSTRUCTOR
> ClassB ::: CONSTRUCTOR
> - instance 'b': [object ClassB]
>
>
> Exactly as expected. From what I can tell, it doesn't really matter which
> class extends which.
> The only thing that matters is that the MOVE_UP event handler
> (moveUpHandler) in ClassA gets called, which happens when I dispatch a
> MOVE_UP event on 'a' in the fla.
>
> regards,
> Muzak
>
> ----- Original Message ----- From: "Sajid Saiyed" <sajid.fl...@gmail.com>
> To: "Flash Coders List" <flashcoders@chattyfig.figleaf.com>
> Sent: Tuesday, September 01, 2009 8:12 AM
> Subject: Re: [Flashcoders] Problem understanding Class heirarchy issue
>
>
>> Ok, Here is a bit more information.
>>
>> ClassA (works pefrectly fine):
>> -----------
>> package com.folder.subfolder
>> {
>> import flash.display.*;
>> import flash.events.*;
>> import flash.filters.*;
>> import flash.utils.Timer;
>> import com.folder.subfolder.*;
>>
>> public class ClassA extends ClassC
>> {
>> public var myMenu: ClassB;
>>
>> public function ClassA (){
>> addEventListener(ClassC.moveUP, someFunction);
>> }
>> public function someFunction(){
>> myMenu = new ClassB();
>> myMenu.name = "mymenu";
>> this.addChild(myMenu);
>> }
>>
>> }
>> }
>>
>> ClassB
>> -----------
>> package com.folder.subfolder
>> {
>> import flash.display.*;
>> import flash.events.*;
>> import flash.filters.*;
>> import flash.utils.Timer;
>> import com.folder.subfolder.*;
>>
>> public class ClassB extends ClassC
>> {
>> public function ClassB (){
>> // This is not getting called.....
>> }
>> }
>> }
>>
>>
>> Does this explanation help a bit??
>> Am I looking at the right place for the problem or the problem could
>> be somewhere else?
>>
>> Thanks
>> Sajid
>>
>>
>>
>>
>>
>> On Mon, Aug 31, 2009 at 10:46 PM, jonathan howe<jonathangh...@gmail.com>
>> wrote:
>>>
>>> Are you defining a subclass constructor and then failing to explicitly
>>> call
>>> the super() (superclass's constructor)?
>>>
>>> On Mon, Aug 31, 2009 at 8:37 AM, Sajid Saiyed <sajid.fl...@gmail.com>
>>> wrote:
>>>
>>>> I am already importing all the classes in the package.
>>>>
>>>> Still cant seem to get my head around this.
>>>> Maybe later today I will post excerpts of my classes here.
>>>>
>>>> That might help.
>>>>
>>>> Regards
>>>> Sajid
>>>>
>>>> On Mon, Aug 31, 2009 at 6:14 PM, Cor<c...@chello.nl> wrote:
>>>> > Not knowing what you are trying to do, you have to import ClassB to
>>>> > instantiate it in ClassA.
>>>> >
>>>> > HTH
>>>> > Cor
>>>> >
>>>> > -----Original Message-----
>>>> > From: flashcoders-boun...@chattyfig.figleaf.com
>>>> > [mailto:flashcoders-boun...@chattyfig.figleaf.com] On Behalf Of Sajid
>>>> Saiyed
>>>> > Sent: maandag 31 augustus 2009 12:06
>>>> > To: flashcoders@chattyfig.figleaf.com
>>>> > Subject: [Flashcoders] Problem understanding Class heirarchy issue
>>>> >
>>>> > Hi,
>>>> > I have following Class structure:
>>>> >
>>>> > ClassA extends ClassC
>>>> >
>>>> > ClassB extends ClassC
>>>> >
>>>> > ClassC extends ClassD
>>>> >
>>>> > ClassD extends MovieClip
>>>> >
>>>> > Now,
>>>> > If I instantiate ClassB from ClassA, the constructor does not execute.
>>>> > note: Inside ClassB, I am instantiating another ClassE which extends
>>>> > MovieClip
>>>> >
>>>> > Is there something I am doing wrong?
>>>> > _______________________________________________
>>>> > Flashcoders mailing list
>>>> > Flashcoders@chattyfig.figleaf.com
>>>> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>> >
>>>> > _______________________________________________
>>>> > Flashcoders mailing list
>>>> > Flashcoders@chattyfig.figleaf.com
>>>> > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>> >
>>>> _______________________________________________
>>>> Flashcoders mailing list
>>>> Flashcoders@chattyfig.figleaf.com
>>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>
>>>
>>>
>>>
>>> --
>>> -jonathan howe
>>> _______________________________________________
>>> Flashcoders mailing list
>>> Flashcoders@chattyfig.figleaf.com
>>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>
>> _______________________________________________
>> Flashcoders mailing list
>> Flashcoders@chattyfig.figleaf.com
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders