Groups | Blog | Home
all groups > flash actionscript > september 2005 >

flash actionscript : Help with random image/varible script.



majamaki
9/27/2005 11:34:35 PM
I have a .swf file that currently calls 19 images and varibles at random. How
can I make it so it will not repeat one of the 19 untill it has gone through
each one of the 19 first?

Here is the action script that I'm using:

choice = Math.round(Math.random()*19);
switch (choice) {
case 0 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
1.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
1.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t1.txt", "_root.firstquote");
break;
case 1 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
2.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
2.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t2.txt", "_root.firstquote");
break;
case 2 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
3.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
3.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t3.txt", "_root.firstquote");
break;
case 3 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
4.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
4.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t4.txt", "_root.firstquote");
break;
case 4 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
5.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
5.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t5.txt", "_root.firstquote");
break;
case 5 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
6.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
6.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t6.txt", "_root.firstquote");
break;
case 6 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
7.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
7.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t7.txt", "_root.firstquote");
break;
case 7 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
8.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
8.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t8.txt", "_root.firstquote");
break;
case 8 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
9.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
9.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t9.txt", "_root.firstquote");
break;
case 9 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
10.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
10.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t10.txt", "_root.firstquote");
break;
case 10 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
11.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
11.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t11.txt", "_root.firstquote");
break;
case 11 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
12.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
12.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t12.txt", "_root.firstquote");
break;
case 12 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
13.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
13.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t13.txt", "_root.firstquote");
break;
case 13 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
14.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
14.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t14.txt", "_root.firstquote");
break;
case 14 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
15.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
15.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t15.txt", "_root.firstquote");
break;
case 15 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
16.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
16.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t16.txt", "_root.firstquote");
break;
case 16 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
17.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
17.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t17.txt", "_root.firstquote");
break;
case 17 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
18.jpg", "_root.personb");

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/persona
18.jpg", "_root.persona");

loadVariables("http://www.beachbody.com/images/us/local/v3/homepage/flash01/tex
t18.txt", "_root.firstquote");
break;
case 18 :

loadMovie("http://www.beachbody.com/images/us/local/v3/homepage/flash01/personb
19.jpg", "_root.personb");

apodkolinska
9/27/2005 11:37:33 PM
I would put all your "cases" in to an array and once you randomly hit one remove it from the pool of choices... That will probably be most efficient :)

Cheers,

majamaki
9/28/2005 12:12:28 AM
Thank you for the fast reply!!

I'm pretty new to actionscripting, so I have to ask how would I go about doing that?

Rothrock
9/28/2005 12:40:34 AM
Search the forums. There is a prototype called shuffle to take and make an
array randomized. Then since you have named your files so well you can make the
whole thing much easier.

for(var i=1;i<=20;i++){
myArray[ i ]=i;
}
myArray.shuffle();

var choice=myArray[0];

loadMovie("stuff/persona"+choice+".jpg",this.persona);
loadMovie("stuff/personb"+choice+".jpg",this.personb);

Of course I would recommend using the MovieClipLoader class instead of
loadMovie. Look at it in the help files.
apodkolinska
9/28/2005 12:43:56 AM
First you will need to create an array of all your cases:

choiceList = new Array();
choiceList.push({persona:http://somewhere, personb:http://somewhereelse,
firstQuote:http://www.data});
choiceList.push(....);
(put quotes around the links)

//push this data all 19 times into the array

//to recover that data: choiceList.persona = will give you the persona link

//randomly chose a number between 0 and choiceList.length

choiceList.splice(i) to delete an entery once it has been used...

I hope this helps :)

A.
AddThis Social Bookmark Button