Senior Member
Need script to randomly fade mcs?
I need a script to select a random order of six mcs named mc1 to mc6 (fade each down one at a time one after another) once all six have each faded up from 0 alpha to 100 I want it to randomly fade those six mcs down from 100 alpha to '0' alpha again, all one mc at a time so this loops around and goes through again.
So it selects a randoom order and fades one mc in at a time and once all six faded in all six fade out one at a time.
How can this be done I can get the fade down up thing going but how to do the random thing??
Senior Member
What can I do to make a gate?
I want a bit of code so that first time it's called it makes something true and the next time it calles through that gate it makes it false.
Kind of like how a two click button code works click once doesnt work and click second time and it does and loops, so on.
I have a trigger that I know when all the clips are down or up but need that alternating gate.
Then I will put:
if (fadeturn=true){
//do fade up
}
if(fadeturn=false){
//do fade down
}
Senior Member
I wrote this so far can anyone help with a better way i should have done this:
There is just six mcs on stage with a pic in each and named from 'mc6' though to 'mc11'
chechMc = setInterval(nextMC,500);
fadeturn=true;
myRandomMcs = new Array(6, 7, 8, 9, 10, 11);
function nextMc() {
nextMcToFade = myRandomMcs.splice(random(myRandomMcs.length), 1);
trace(["mc_"+nextMcToFade]);
fadeClips();
if (nextMcToFade.length == isNaN(0)) {
trace("Empty array");
//this is where I need the alternating tricker each time to set fadeturn true or false
myRandomMcs.push(6, 7, 8, 9, 10, 11);
nextMcToFade = myRandomMcs.splice(random(myRandomMcs.length), 1);
}
}
MovieClip.prototype.fadeClips = function() {
this.onEnterFrame = function() {
if (fadeturn=true) {
//do fade up
this["mc_"+nextMcToFade]._alpha += 3;
}
if (fadeturn=false) {
this["mc_"+nextMcToFade]._alpha -= 3;
}
};
};
Last edited by Jaffasoft; 07-13-2006 at 09:39 AM .
Senior Member
PHP Code:
chechMc = setInterval ( nextMC , 500 );
fadeturn = false ;
myRandomMcs = new Array ( 6 , 7 , 8 , 9 , 10 , 11 );
function nextMc ()
{
nextMcToFade = myRandomMcs . splice ( random ( myRandomMcs . length ), 1 );
trace ([ "mc_" + nextMcToFade ]);
var myMc : String = "mc_" + nextMcToFade ;
fadeClips ( myMc );
if ( nextMcToFade . length == isNaN ( 0 ))
{
trace ( "Empty array" );
//this is where I need the alternating tricker each time to set fadeturn true or false
myRandomMcs . push ( 6 , 7 , 8 , 9 , 10 , 11 );
nextMcToFade = myRandomMcs . splice ( random ( myRandomMcs . length ), 1 );
}
}
function fadeClips ( myMc )
{
var mc : MovieClip = eval ( myMc );
this . onEnterFrame = function ()
{
if ( fadeturn == true )
{
//do fade up
mc . _alpha += 3 ;
}
if ( fadeturn == false )
{
mc . _alpha -= 3 ;
if ( mc . _alpha <= 0 )
{
delete this . onEnterFrame ;
nextMc ();
}
}
};
}
nextMc ();
- The right of the People to create Flash movies shall not be infringed. -
Senior Member
Ok you've posted yours and i was just about to post where i was up to. This almost working. Is eval depreciated?
But know it needs to be condensed down but cant work out how??
Code:
myRandomMcsUp = new Array(6, 7, 8, 9, 10, 11);
MovieClip.prototype.nextMc = function() {
nextMcToFade = myRandomMcsUp.splice(random(myRandomMcsUp.length), 1);
fadeClips();
if (nextMcToFade.length == isNaN(0)) {
trace("Finished fading up will now begin fade down");
myRandomMcsUp.push(6, 7, 8, 9, 10, 11);
nextMcToFade = myRandomMcsUp.splice(random(myRandomMcsUp.length), 1);
nextMcDown();
}
trace(["mc_"+nextMcToFade]);
};
MovieClip.prototype.fadeClips = function() {
this.onEnterFrame = function() {
this["mc_"+nextMcToFade]._alpha += 5;
if (this["mc_"+nextMcToFade]._alpha>=100) {
nextMc();
}
};
};
MovieClip.prototype.nextMcDown = function() {
nextMcToFade = myRandomMcsUp.splice(random(myRandomMcsUp.length), 1);
fadeClipsDown();
if (nextMcToFade.length == isNaN(0)) {
myRandomMcsUp.push(6, 7, 8, 9, 10, 11);
nextMcToFade = myRandomMcsUp.splice(random(myRandomMcsUp.length), 1);
nextMc();
trace("Finished fading down will now begin fade down");
}
trace(["mc_"+nextMcToFade]);
};
MovieClip.prototype.fadeClipsDown = function() {
this.onEnterFrame = function() {
this["mc_"+nextMcToFade]._alpha -= 5;
if (this["mc_"+nextMcToFade]._alpha<=0) {
nextMcDown();
}
};
};
Last edited by Jaffasoft; 07-13-2006 at 09:50 AM .
Senior Member
I don't know your lower script but you can also change the two lines to this:
var myMc:MovieClip = this["mc_" + nextMcToFade];
var mc:MovieClip = myMc;
if you don't like eval.
- The right of the People to create Flash movies shall not be infringed. -
Senior Member
That first script I did was just to check with setinterval. But the fades we're not working right.
Second one does fade right but just having a problem with it doing 5 mcs then 8 then 4 then 7. Should be six faded up six faded down just in random order.
And need just one script I think maybee with a function. Not the four differnt functions the way I have it now!
So just looking to tidy up the hack we got now and get a decent working code.
Senior Member
Flashscipt can you tell me how to use your script. When i have put it in the first frame and with the six mcs on stage with pics in them, the trace goes mad and traces every frame.
It's tracing right but should be finishing fading each clip before next.
Senior Member
Attached Files
- The right of the People to create Flash movies shall not be infringed. -
Senior Member
Thanks for that flashscript.biz I appreaciate that!
Posting Permissions
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Rules
Click Here to Expand Forum to Full Width