no luck.. here's the code..
I tried that..
1: hi _level0.test1
2: hi _level0.test2
3: hi _level0.test3
Here is the code:
Movie Script:
-------------
var initObj=new Object;
initObj.cp_id=1;
this.attachMovie("TestSymbol","test1",1,initObj);
initObj.cp_id=2;
this.attachMovie("TestSymbol","test2",2,initObj);
initObj.cp_id=3;
this.attachMovie("TestSymbol","test3",3,initObj);
moviearr=[this.test1,this.test2,this.test3];
message="Hi there!";
trace("first, loop through all instances calling a 1 line function");
for(i=0; i<moviearr.length; i++)
{ moviearr[i].sayHi();}
trace("next, call handleMessage (function w/ a loop) for each instance one-by-one");
this.test1.handleMessage(message);
this.test2.handleMessage(message);
this.test3.handleMessage(message);
trace("finally, call handleMessage for all instances in a loop");
trace("this only calls the function for the first instance");
for(i=0;i<moviearr.length;i++)
{
moviearr[i].handleMessage(message);
}
TestSymbol script:
----------------
#initclip
//Constructor
_global.TestSymbol=function()
{
trace("constructor called: "+this.cp_id);
this.id=this.cp_id;
delete this.cp_id;
}
// Set MovieClip as TestSymbol's superclass
_global.TestSymbol.prototype=new MovieClip();
//Put in lib
Object.registerClass("TestSymbol", _global.TestSymbol);
//METHODS
_global.TestSymbol.prototype.handleMessage=functio n(mes)
{
trace("handle message called: "+this.getid());
for(i=0; i< 10; i++)
{trace(this.getId()+": "+mes);}
}
_global.TestSymbol.prototype.sayHi=function()
{trace(this.getId()+": hi");}
_global.TestSymbol.prototype.getId=function()
{
return this.id;
}
#endinitclip
|