Avatar billede supeter Nybegynder
10. januar 2001 - 18:58 Der er 16 kommentarer og
1 løsning

*Frustration* Random og if-kommando i Flash 5

Argh!
Hvorfor virker følgende kommandoer ikke?
Jeg har prøvet en hel masse variationer til dette...

Nummer = random = 10;
if (Nummer = 5) {
    gotoAndStop (3);
}
if (Nummer <> 5) {
    gotoAndStop (2);
}


Det skal bruges til at vælge tilfældigt mellem to frames hvor den ene skal have stor chance for at vælges og den anden lille... Men den vælger først den ene og så den anden, hvilket ikke er voldsomt tilfældigt.
I variabel listen ses følgene:

Variable _level0.random = 10
Variable _level0.Nummer = 5

Hvad har jeg gjort forkert?
( Jeg bruger Flash 5 )
Avatar billede stigc Nybegynder
10. januar 2001 - 19:05 #1
prøve en kommado før der hedder \"radomize\"
Avatar billede stigc Nybegynder
10. januar 2001 - 19:10 #2
frame = Number(random(2))+1;

if (frame = 1) {
    gotoAndStop (3);
}
if (frame = 2) {
    gotoAndStop (2);
}
Avatar billede supeter Nybegynder
10. januar 2001 - 19:27 #3
Indskrevet med denne rettelse

frame = Number(random(5))+1

if (frame > 1) {
    gotoAndStop (3);
}
if (frame = 1) {
    gotoAndStop (2);
}

Virker det stadig ikke. Den tager stadig først den ene og så den anden i lige rækkefølge.
Variabellisten ser sådan ud:
  Variable _level0.frame = 1

Så måske ( af en eller anden grund ) tillægger en if-kommand variablens værdi?
Avatar billede diktator Nybegynder
10. januar 2001 - 19:52 #4
Den her virker i Flash 5:
(Jeg ved endnu ikke hvad du skal bruge din variable: \"Variable _level0.frame = 1\" til? - men prøv at forklare hvorfor du erklærer den,,,)


stop ();
FrameNumb = Number(random(11))+2;
if (FrameNumb > Number(7)) {
    gotoAndPlay (3);
} else {
    gotoAndPlay (1);


Du kan selv variere sandsynligheden efter behov
/D!ktator.dk
}
Avatar billede diktator Nybegynder
10. januar 2001 - 19:53 #5
UPS:

stop ();
FrameNumb = Number(random(11))+2;
if (FrameNumb > Number(7)) {
    gotoAndPlay (3);
} else {
    gotoAndPlay (1);
}

Du kan selv variere sandsynligheden efter behov
/D!ktator.dk

Avatar billede nikolajdu Nybegynder
10. januar 2001 - 20:05 #6
Damn you Diggie...

Du har alt for travlt for tiden og nupper alt for mange point.. he he...

Men du har ret det er samme fejl som her...

http://www.eksperten.dk/spm/42642

Nemlig brugen kun af IF og ingen else.

/Nikolaj
Avatar billede nikolajdu Nybegynder
10. januar 2001 - 20:05 #7
Og random angives også som du har skrev med () - random(5)
Avatar billede supeter Nybegynder
10. januar 2001 - 20:37 #8
Nej det virker desværre ikke helt...
randomfunktionen virker fint efter den omskrivning diktator gav...
Men for at vise problemet på en anden måde så skal jeg have et movieclip til at vises af og til... Så dette ligger på frame 2 Den anden frame omtalt ( frame 3 ) skal altså ikke bruges til noget...
Nu har jeg kun en frame ( frame 2 )der indeholder movieclippet, og en ( frame 1 ) der indeholder intet, med den her action:

stop ();
FrameNumb = Number(random(100))+1;
if (FrameNumb >  Number(10)) {
    gotoAndPlay (1);
} else {
    gotoAndPlay (2);
}

Nu kører det movieclip der ligger på frame 2 alligevel, ligemeget hvad det tilfældige tal var... Det kan man jo se på variabel listen...

Avatar billede diktator Nybegynder
10. januar 2001 - 20:48 #9
Den her: Hvis tallet er over 10 går den til frame 2, ellers stoppper den! Er det det du vil ha?

stop ();
FrameNumb = Number(random(100))+1;
if (FrameNumb >  Number(10)) {
    gotoAndPlay (2);
} else {
        stop ();
}

Avatar billede nikolajdu Nybegynder
10. januar 2001 - 20:51 #10
FrameNumb = Number(random(100))+1;
if (FrameNumb>Number(10)) {
    tellTarget (\"CLIPPIE\") {
        gotoAndPlay (2);
    }
}
Avatar billede nikolajdu Nybegynder
10. januar 2001 - 20:53 #11
bare et alternativt forslag -
Avatar billede nikolajdu Nybegynder
10. januar 2001 - 20:54 #12
Mit script vil dog køre Random hele tiden og tager ikke hensyn til om filmen rent faktisk er i gang...
Avatar billede diktator Nybegynder
10. januar 2001 - 20:55 #13
nikolajdu  ::  Jeg tror ikke, at det er meningen at han ville starte movieClippet i frame 2 ;-)
-hvis jeg har fattet det rigtigt vil han bare til frame 2 ???
Avatar billede supeter Nybegynder
10. januar 2001 - 21:02 #14
OKay, Jeg bruger så den her:

stop ();
FrameNumb = Number(random(100))+1;
if (FrameNumb >  Number(90)) {
    gotoAndPlay (2);
} else {
    stop ();
}

Og den virker sådan set også godt nok, bortset fra at man, når man tester filmen og tallet blev under 90, d.v.s. at movieclippet spiller ikke, der er kun hvid skærm. Når man så trykker på play ( enter ) anden gang fordi der jo er en stop command med i kodningen, viser den movieclippet ligegyldigt om tallet var under 90 eller ej... Skummel fejl... Men jeg tror jeg finder en anden løsning... Tak for hjælpen alligevel..
Avatar billede nikolajdu Nybegynder
10. januar 2001 - 21:05 #15
neejjj... nu ikke gi´ op....

Du kan evt sende mig filen på nikolajdu@hotmail.com eller formodentlig også til diggieboy (Diktator), hvis han har tid. Eller til os begge og vi kan lave en konkurrence.. juhuu...  Vi ELSKER at rode med den slags... he he...

/Nikolaj
Avatar billede diktator Nybegynder
10. januar 2001 - 21:15 #16
Nu ved jeg ikke lige hvordan din film ser ud, men du kunne måske sætte din PlayKnap action til at gå til frame 1, så vil scriptet starte om igen ...
Avatar billede supeter Nybegynder
12. januar 2001 - 15:47 #17
Nix du...
Jeg fandt ud af at hvis Frame 1 skal have nogen chance for at være interaktiv, skal jeg nok finde en anden måde at køre det movieclip på...
Men ellers mange tak :)

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