@Andy:
Yes, your method is mentioned in the current thread about "Override
_xscale and _yscale setter in AS2 " as follows:
"Don't use extending. Use composition..." :-)
But you have always to write wrappers for the usual MovieClip methods
or you have to offer a reference to the MovieClip you're using in your
composition:

class Something
{
   private var mc:MovieClip; // not shared

   public function attachMovie(...) {
       mc.attachMovie(...); // wrap method
   }

}

or:

class Something
{
   public var mc:MovieClip; // share mc
}

@Ian:
Yes I do prefer the static create method by myself, but I always have
to write the "individual" create method. I thought, I could perhaps
leave this out. But I learned in another thread about FDT that Eclipse
offers class templates. I use ASDT/Flashout, so I'll check, if this
applies to my workflow, too.

Thank you both!
Matthias

2007/1/18, Ian Thomas <[EMAIL PROTECTED]>:
*sigh* The line:

return MyClip(ClipUtils.createCodeClip(" com.mycompany
,MyClip",parent,initObj,depth,inst));

should of course have read:

return MyClip(ClipUtils.createCodeClip("com.mycompany.MyClip
",parent,initObj,depth,inst));

Sorry!
  Ian

On 1/18/07, Ian Thomas <[EMAIL PROTECTED]> wrote:
>
> On 1/17/07, Matthias Dittgen <[EMAIL PROTECTED]> wrote:
>
> >
> > And is there a way to automate the writing of SymbolName,SymbolLinked
> > and create for all my classes which extend MovieClip?
>
>
>
> Personally, I use b) (for clips which aren't in the library). There's no
> way to automate the writing of symbolName etc. (unless you start looking at
> preprocessors), but you can get rid of symbolName etc. completely to make
> life easier. For example:
>
> class com.mycompany.MyClip extends MovieClip
> {
>     public static function
> create(parent:MovieClip,initObj:Object,depth:Number,inst:String):MyClip
>     {
>         return MyClip(ClipUtils.createCodeClip(" com.mycompany
> ,MyClip",parent,initObj,depth,inst));
>     }
> }
>
> where ClipUtils looks like this:
>
> class ClipUtils
> {
>     public static function
> 
createCodeClip(classPath:String,parent:MovieClip,initObj:Object,depth:Number,inst:String):MovieClip
>
>     {
>         if (depth===undefined)
>             depth=parent.getNextHighestDepth();
>         if (inst===undefined)
>             inst="inst"+depth;
>         var constructor:Function=getConstructorFromPath(classPath);
>         Object.registerClass("__Packages."+classPath,constructor);
>         return parent.attachMovie
> ("__Packages."+classPath,inst,depth,initObj);
>     }
>
>     public static function
> getConstructorFromPath(classPath:String):Function
>     {
>         var arr:Array=classPath.split(".");
>         var obj:Object=_global;
>         for(var i:Number=0;i<arr.length;i++)
>         {
>             obj=obj[arr[i]];
>         }
>         return Function(obj);
>     }
> }
>
>
> In case it's not clear, you can then write:
>
> var clip:MyClip=MyClip.create(parentMovie);
>
> and everything else will default to something appropriate.
>
> Hope that makes sense,
>    Ian
>
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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

_______________________________________________
Flashcoders@chattyfig.figleaf.com
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