Friday, September 19, 2008

Flash movieClip randomizer

code:

function randomNo(high,low) {
generated = Math.floor(Math.random() * (high - low)) + low;
return generated;
}

_global.MovieClip_loader = function(MovieClip, url) {
var theLoader:MovieClipLoader = new MovieClipLoader();
theLoader.loadClip(Url, MovieClip);
var loaderListener:Object = new Object();
theLoader.addListener(loaderListener);
MovieClip.loader_txt.text = "0%";

loaderListener.onLoadProgress = function(_mc:MovieClip, loaded:Number, total:Number) {
MovieClip.loader_txt.text = Math.round((loaded/total) * 100) + "%";
}

loaderListener.onLoadComplete = function(_mc:MovieClip) {
MovieClip.loader_txt.text = "";
}
}

_global.MovieClip_randomizer = function(noOfClip) {
if (MovieClip_1.occupied == "") {
for (p=1;p<=noOfClip;p++) {
randomGenerated = randomNo(1,noOfClip);
if (p != 1 && p != noOfClip) {
while(eval("MovieClip_" + randomGenerated).occupied <> "") {
randomGenerated = randomNo(1,noOfClip);
}
}
if (p == noOfClip) {
for (r=1;r<=noOfClip;r++) {
if (eval("MovieClip_" + r).occupied == "") {
randomGenerated = r;
}
}
}
_global.MovieClip_loader("MovieClip_" + randomGenerated, swfName + p + ".swf");
}
}
}

note:
to use, e.g. _global.MovieClip_randomizer(3);
*if you have 3 mc: MovieClip_1, MovieClip_2, MovieClip_3
*the last clip will always be the last ;)

varibles are MovieClip, swfName, noOfClip
assuming that your movieClip names start from "MovieClip_"

No comments: