Hi Paul and welcome to the list :)
I am not an OOP expert, but for me it's more natural for a parent class to handle its children events, and forward it to its own parent, etc...

Most of the time I use this technique :

import mx.utils.Delegate;

class MainClip extends MovieClip {
  private var nestedClip1:MovieClip;
  private var nestedClip2:MovieClip;
  private var dispatchEvent:Function;
  var addEventListener:Function;
  var removeEventListener:Function;

  private function init(){
    mx.events.EventDispatcher.initialize(this);
    nestedClip1 = this.attach("NestedChild", "child1", depth);
    nestedClip1.onRelease = function(){
      // some code here...
    };

    // or you could use a Delegate
    nestedClip2 = this.attach("NestedChild", "child2", depth);
    nestedClip2.onRelease = Delegate.create(this, this.onClip2Release);
  }

  private function onClip2Release():Void {
    // some code here...
    // forward event to any listeners of MainClip
    dispatchEvent({type:"doSomething", target:this});
  }
}

You could also create classes for your nested clips that use dispatchEvent() and add your main class as a listener of their clicks events...

Hope it helps..
Julien

[EMAIL PROTECTED] a écrit :
This is my first experience use the mailing List so I hope this makes sense!
My question is more of a conceptual one regarding oop best practises. If
I have a class which attaches a clip to the stage how can I attach functions
to clips nested inside this clip. Putting code on the attached clip?s timeline
is wrong, I can use;

myClip.MyChildClip.onRelease = function() { stuff };

It works, but seems fundamentally wrong, as I understood it was bad practise
to add methods to an object dynamically. Should I make the class listen for
clicks on the nested clip or is there another solution?

Cheers,
Paul

___________________________________________________________

Tiscali Broadband from 14.99 with free setup!
http://www.tiscali.co.uk/products/broadband/


_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to