Copy link to clipboard
Copied
Hi,
Can anyone modify this code to for loop? I have searched in this forum but found nothing. I comented on some similar post, but no respon.
//I want to add movieclips named mc1, mc2, mc3, mc4.
this.stageW = 550;
this.stageH = 400;
this.speed = 7;
if(!this.alreadyStarted){
this.alreadyStarted = true;
randomNumbersF.bind(this)();
createjs.Ticker.addEventListener("tick", updateF.bind(this));
}
function randomNumbersF(){
this.randX = Math.floor(Math.random()*this.stageW);//scaled to the size of the screen
this.randY = Math.floor(Math.random()*this.stageH);
this.r = Math.sqrt( (this.mc0.y-this.randY)*(this.mc0.y-this.randY) + (this.mc0.x-this.randX)*(this.mc0.x-this.randX) );
linearEqF.bind(this)();
}
function linearEqF(){
this.inc = 1;
this.theta = Math.atan2( this.randY-this.mc0.y, this.randX-this.mc0.x );
}
function updateF(){
this.mc0.x += this.speed*Math.cos(this.theta);
this.mc0.y += this.speed*Math.sin(this.theta);
if(this.inc*this.speed >= this.r){
randomNumbersF.bind(this)();
}
this.inc++;
};
the mc's to change destination at different times, that code will need some changes:
this.stageW = 550;
this.stageH = 400;
this.speed = 7;
if (!this.alreadyStarted) {
this.alreadyStarted = true;
randomNumbersF.bind(this)();
createjs.Ticker.addEventListener("tick", updateF.bind(this));
}
function randomNumbersF() {
for(var i=0;i<5;i++){
this["mc"+i].randX = Math.floor(Math.random() * this.stageW); //scaled to the size of the screen
this["mc"+i].randY = Math.floor(Math.random() * this.stageH);
this["mc"+i
Copy link to clipboard
Copied
the mc's to change destination at different times, that code will need some changes:
this.stageW = 550;
this.stageH = 400;
this.speed = 7;
if (!this.alreadyStarted) {
this.alreadyStarted = true;
randomNumbersF.bind(this)();
createjs.Ticker.addEventListener("tick", updateF.bind(this));
}
function randomNumbersF() {
for(var i=0;i<5;i++){
this["mc"+i].randX = Math.floor(Math.random() * this.stageW); //scaled to the size of the screen
this["mc"+i].randY = Math.floor(Math.random() * this.stageH);
this["mc"+i].r = Math.sqrt((this["mc"+i].y - this["mc"+i].randY) * (this["mc"+i].y - this["mc"+i].randY) + (this["mc"+i].x - this["mc"+i].randX) * (this["mc"+i].x - this["mc"+i].randX));
linearEqF.bind(this)();
}
}
function linearEqF(){
for(var i=0;i<5;i++){ // mc0,..,mc4
this["mc"+i].inc = 1;
this["mc"+i].theta = Math.atan2( this["mc"+i].randY-this["mc"+i].y,this["mc"+i].randX-this["mc"+i].x );
}
}
function updateF(){
for(var i=0;i<5;i++){ // mc0,..,mc4
this["mc"+i].x += this.speed*Math.cos(this["mc"+i].theta);
this["mc"+i].y += this.speed*Math.sin(this["mc"+i].theta);
if(this["mc"+i].inc*this.speed >= this["mc"+i].r){
randomNumbersF.bind(this)();
}
this["mc"+i].inc++;
}
};
Copy link to clipboard
Copied
Wow... it works perfect! Thanks. All movieclips move randomly!
Best Regards...
Copy link to clipboard
Copied
you're welcome.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now