Ian, Those casting gymnastics definitely help — thanks a lot.
Julian On Jul 7, 2006, at 9:27 PDT, Ian Thomas wrote:
On 7/7/06, Julian Bleecker <[EMAIL PROTECTED]> wrote:One other thing occurred to me on this topic, that might actually save the trouble of using a hash table, which AS direly needs. Is there a way to summon forth a class that's been instantiated in any of the ways described below, by name? In other words, if I've done this: for(var i:Number = 0; i < 12; i++) { Object.registerClass(symbolName,FooA); var clip:FooA=FooA(myMovie.attachMovie (symbolName,"anInstanceName_"+i,depth)); } And elsewhere, I want to summon forth these dynamically in another loop or otherwise (something I might normally do by stuffing the instances in a hash or map somewhere and using the name as the key) - can I do that in some fashion? Is there an AS idiom for obtaining a reference to a MovieClip (or other runtime object) by name? JulianFirstly, Actionscript does have the equivalent of a HashMap. Everything derived from Object can be treated like so: var obj:Object=new Object(); obj["someKey"]="Hello"; trace(obj["someKey"]); // traces "Hello" The bracket access on an object actually accesses the properties and methods of that object. Hence: var myClip:MovieClip = ...some movieclip... trace(myClip._visible); trace(myClip["_visible"]); // equivalent to the last line myClip.doSomething(1,2,3); myClip["doSomething"](1,2,3); // equivalent to last line. myClip._y=20; myClip["_y"]=20; // again, equivalent When you create/attach an instance of a MovieClip to a parent movieclip, you are actually creating new properties on that parent clip. So: var myClip:MovieClip=someClip.attachMovie("Symbol","aNewClip",1); trace(myClip==this["aNewClip"); // traces 'true' To get back to your original question, this means you can type: var myClip:MovieClip=myMovie["anInstanceName_0"]; to retrieve your clip. HTH, Ian _______________________________________________ [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

