Avatar billede bachome Nybegynder
30. november 2003 - 19:18 Der er 12 kommentarer og
1 løsning

prob. med liste

Jeg er ved at lave et script som indlæser en scene tilfældigt med funktionen random().
Jeg har lavet en liste som der genereres en tilfældigt tal udfra. Nå man så kommer til næste scene skal en knap skifte til næste tilfældige scene, men ikke den som allerede er indlæst?
Hvad gør jeg?
Mig script på den første scene ser sådan ud:

scenes = ["a","b","c","d"];
  randomScene = scenes[random(scenes.length)];
  gotoAndPlay("randomScene",1);
Avatar billede _k Nybegynder
30. november 2003 - 19:33 #1
Adskil din randommetode fra kaldet:

var randomTalArray = new Array();
randomTalArray = [0,1,2,3];
randomTalArray.sort(function(){return random(3)-1;});

scenes = new Array();
scenes = ["a","b","c","d"];

gotoAndPlay(scenes[randomTalArray[0]],1);

næste kald er så:
gotoAndPlay(scenes[randomTalArray[1]],1);

osv.....
Avatar billede bachome Nybegynder
30. november 2003 - 20:03 #2
hm...det virker ikke. Den hopper i til en tilfældig scene!
Skal der laves to arrays?
Avatar billede bachome Nybegynder
30. november 2003 - 20:03 #3
i = ikke
Avatar billede _k Nybegynder
30. november 2003 - 21:14 #4
To arrays. Det første indeholder 4 tal i tilfældig rækkefølge (tilfældigt i runtime). Andet array indeholder dine scener.

I stedet for gotoAndPlay(...); kan du prøve at lave en trace:
trace(scenes[randomTalArray[0]],1);
Så kan du selv konstatere, at det virker.

Problemet ligger i scenekaldet. Virker det overhovedet? Kender ikke selv til scener - det er nemlig noget kun rigtige mænd bruger - det får os andre wannabees til at tude ;o)

Måske mangler du bare anførselstegnene:

gotoAndPlay("scenes[randomTalArray[0]]",1);

??
Avatar billede bachome Nybegynder
30. november 2003 - 21:23 #5
ja jeg har prøvet med anførselstegn!!! :(
Mit script her, men en dynamisk tekstboks med navnet hent:

_global.Scenes = ["a","b","c","d"];
_global.randomScene = Scenes[random(Scenes.length)];
hent.text = randomScene;
stop();

virker fint!!!
Flash forstår ikke scene-kald udfra variabler eller strenge!
Hvad gør jeg?
Avatar billede mat Nybegynder
30. november 2003 - 22:40 #6
jojo flash forstår fint scenekald udfra strenge, men de strenge bør være frame-label. Lige så snart du nester knapper eller movieclips og forsøger at kalde scenereferencer vil det fejle, derfor bruger man labels hvis man endelig vil have scener.

_root.gotoAndPlay("mit_label");

(nu ser det godtnok ud til at dit script ligger i roden, men prøv alligevel med labels og fjern den anden parameter i gotoAndPlay(); )

mvh mat
Avatar billede bachome Nybegynder
01. december 2003 - 11:26 #7
ja mit script ligger i roden (_root), men det giver ingen forskel at fjerne den anden parameter så det bliver:

_root.gotoAndPlay("randomScene");

jeg forstår det virkelig ikke??? - gotoAndPlay sætningen bliver ikke udført!
Avatar billede mat Nybegynder
01. december 2003 - 11:38 #8
og du har givet frame 1 i randomScene label´et "randomScene" ? (labels er en frame property, og har intet at gøre med hvad du kalder scenerne)
Avatar billede bachome Nybegynder
01. december 2003 - 14:40 #9
ja, men mine scener har navnene intro, a, b, c og d. Der er ingen scene der hedder randomScene. RandomScene er en variabel med bogstaverne a-d (scene 2-5).
Avatar billede bachome Nybegynder
03. december 2003 - 12:45 #10
der er måske ingen der kan hjælpe?
Avatar billede mat Nybegynder
03. december 2003 - 13:06 #11
hvis randomScene er en variabel, der peger på en streng skal der jo ikke gåseøjne omkring i din gotoAndPlay()
Avatar billede bachome Nybegynder
06. december 2003 - 16:49 #12
hvorfor?
Avatar billede mat Nybegynder
06. december 2003 - 20:04 #13
fordi det er en variabel og ikke en streng ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester