PDA

Volledige versie bekijken : random gotoAndPlay met frame labels


ealmo
%Europe/Berlin %545 %2007, 13:06
Hello,
zit met onderstaand probleem...
Ik heb een animatie op men tijdslijn staan die ik onderverdeeld heb in 50 verschillende frame labels.
Nu de bedoeling is dat wanneer deze flashmovie geladen wordt dat hij at random een frame label afspeelt.

ik heb de verschillende frame-label names in aan array gestopt om er makkelijk mee te kunnen werken. Het probleem is namelijk niet dat ik het random getal niet kan krijgen maar dat hij soms wel en soms niet de movie afspeelt.

Ik heb de array wel vrij omslachtig uitgeschreven maar heb die nu zo uitgetypt om het probleem tegen te gaan.

Code...

my_array = new Array();
my_array[0] = "frame_1";
my_array[1] = "frame_2";
my_array[2] = "frame_3";
my_array[3] = "frame_4";
my_array[4] = "frame_5";
my_array[5] = "frame_6";
my_array[6] = "frame_7";
my_array[7] = "frame_8";
my_array[8] = "frame_9";
my_array[9] = "frame_10";
my_array[10] = "frame_11";
my_array[11] = "frame_12";
my_array[12] = "frame_13";
my_array[13] = "frame_14";
my_array[14] = "frame_15";
my_array[15] = "frame_16";
my_array[16] = "frame_17";
my_array[17] = "frame_18";
my_array[18] = "frame_19";
my_array[19] = "frame_20";
my_array[20] = "frame_21";
my_array[21] = "frame_22";
my_array[22] = "frame_23";
my_array[23] = "frame_24";
my_array[24] = "frame_25";
my_array[25] = "frame_26";
my_array[26] = "frame_27";
my_array[27] = "frame_28";
my_array[28] = "frame_29";
my_array[29] = "frame_30";
my_array[30] = "frame_31";
my_array[31] = "frame_32";
my_array[32] = "frame_33";
my_array[33] = "frame_34";
my_array[34] = "frame_35";
my_array[35] = "frame_36";
my_array[36] = "frame_37";
my_array[37] = "frame_38";
my_array[38] = "frame_39";
my_array[39] = "frame_40";
my_array[40] = "frame_41";
my_array[41] = "frame_42";
my_array[42] = "frame_43";
my_array[43] = "frame_44";
my_array[44] = "frame_45";
my_array[45] = "frame_46";
my_array[46] = "frame_47";
my_array[47] = "frame_48";
my_array[48] = "frame_49";
my_array[49] = "frame_50";
my_array[50] = "frame_51";

randomplay();

function randomplay(){
randomidx = Math.floor(random(my_array.length));
gotoAndPlay("scene_1", my_array[randomidx]);

trace(my_array[randomidx]);
}

esparadrapo
%Europe/Berlin %552 %2007, 13:15
probeer het volgende

randomidx:Number = Math.floor(random(my_array.length));

esparadrapo
%Europe/Berlin %555 %2007, 13:19
moet wel zo sorry

var randomidx:Number = Math.floor(random(my_array.length));

ealmo
%Europe/Berlin %556 %2007, 13:21
Heb ik geprobeerd maar veranderd niet veel...toch bedankt voor je reactie.

esparadrapo
%Europe/Berlin %560 %2007, 13:26
raar
bij mij werkt het perfect

var randomidx:Number = Math.floor(random(my_array.length));
gotoAndStop("scene_1", my_array[randomidx]);

ealmo
%Europe/Berlin %576 %2007, 13:50
Hmmm....hier niet :s
anders stuur ik je de fla even door?

laurent
%Europe/Berlin %629 %2007, 15:05
volgens mij wil je zoiets doen:
var frameLabels:Number = 51;
gotoAndStop("frame_" + Math.floor(1 + Math.random() * frameLabels));
Je hebt dan je hele array niet nodig

ealmo
%Europe/Berlin %641 %2007, 15:24
volgens mij wil je zoiets doen:
var frameLabels:Number = 51;
gotoAndStop("frame_" + Math.floor(1 + Math.random() * frameLabels));
Je hebt dan je hele array niet nodig

Yup dat klopt had in het begin ook maar om de duur probeer je even van het simpele af te stappen en alles wat langer en breder uit te schrijven om je probleem op te lossen maar dit blijkt ook niet de oplossing te zijn.

Iemand nog een idee?

esparadrapo
%Europe/Berlin %654 %2007, 15:42
stuur je fla door

ealmo
%Europe/Berlin %656 %2007, 15:45
stuur je fla door
geef eens je mail door...

esparadrapo
%Europe/Berlin %712 %2007, 17:06
heb het gevonden
je zet je as over je 50 frames, je zou je as enkel op frame 1 moeten zetten, dan werkt die prima.