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" <[email protected]>
To: "Flash Coders List" <[email protected]>
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<[email protected]> 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 <[email protected]> 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<[email protected]> wrote:
> Not knowing what you are trying to do, you have to import ClassB to
> instantiate it in ClassA.
>
> HTH
> Cor
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Sajid
Saiyed
> Sent: maandag 31 augustus 2009 12:06
> To: [email protected]
> 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
> [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
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders