Avatar billede milou Nybegynder
12. marts 2001 - 09:49 Der er 37 kommentarer og
1 løsning

hjælp med operator \">\" \"greater than\"

Nu har jeg bikset med her snoldede script et døgn og fatter ikke at det ikke virker. Har forsøgt alt muligt men kør efterhånden i ring..aaarrrggghhh!!!!
Simpelt spil : En kanin styres med piletasterne og skal samle 10 gulerødder. Når den har de 10 så..vupti..skulle man hoppe til næste niveau..men nej. Tælleren tæller 10 gulerødder og har variablen score og den tæller (og samler) lystigt derudaf med det her script lagt i gulerodsinstancerne på scenen( ja, der viser sig en spisende kanin når man ramler ind i guleroden):
 
if (this.hitTest(_root.kanin)) {
        /:score = Number(/:score)+1;
        setProperty (this, _x, 465);
        setProperty (this, _y, 72);
        tellTarget (\"_root.hare5\") {
            setProperty (\"_root.hare5\", _visible, 1);
        }
    }

Jeg har sat det her script i første frame:

stop ();
if (/:score >10 ) {
    gotoAndStop (\"Scene 2\", \"to\");
}
...det er da til at førstå, ikke?(..og det er sådan de skriver i Flashmanualen at det skal stå)
Men hvad hulen gør jeg forkert?? Snart sagt ALT er prøvet, selv Flash har jeg igeninstalleret. Det er garanteret en lille bitte fejl jeg bare ikke kan se for scriptforblændelse.

Hjælp, please
/milou
Avatar billede diktator Nybegynder
12. marts 2001 - 09:59 #1
Prøv

stop ();
if (Number(/:score) >10 ) {
    gotoAndStop (\"Scene 2\", \"to\");
}
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 09:59 #2
Number(_root.score)
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 10:13 #3
Selvfølgelig forudsat at \"score\" ligger i roden. Ellers må du selv lige angive stien eller nøjes med din egen /:score.

/ og : er Flash 4 syntax og bruges altså ikke i 5´eren. Anyway har det ingen betydning da Flash 5 fortolker det fint. Flash 5. bruger . (dot.syntax). Altså: _root.clip1.clip2.variabel4
Avatar billede milou Nybegynder
12. marts 2001 - 10:16 #4
desværre..nej..
jeg har prøvet det før og gjorde det igen, det KUNNE jo være, men nej...det der stop kan vel ikke være skyld i det?..
Avatar billede diktator Nybegynder
12. marts 2001 - 10:17 #5
Slash og dot syntax bruges begge i 5’eren, og der er ikke noget der hedder, at det er forkert at bruge den ene frem for den anden. Scripter man med slash syntax, kan man med fordel eksportere i flash 4 ...
Avatar billede milou Nybegynder
12. marts 2001 - 10:19 #6
det er jeg klar over..sjovt nok så virker tælleren ikke hvis jeg har / og : foran score..det er lidt problematisk når man er oplært i Flash 4..
Avatar billede diktator Nybegynder
12. marts 2001 - 10:20 #7
Prøv at trace din score variable og se om den overhovedet tæller til 10 ...
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 10:20 #8
Diktator, Slash er afløst af dot i 5´eren og man kan fint eksportere som flash 4 med dot syntax.

Du kan prøve og indsætte en else {stop()}
Avatar billede milou Nybegynder
12. marts 2001 - 10:21 #9
aj..det var noget vrøvl jeg skrev tælleren virker IKKE uden / og :
Avatar billede diktator Nybegynder
12. marts 2001 - 10:22 #10
Prøv at erklære din score variable i roden af din film som:
score = 0
- og connecte den med dot syntax generelt i dit script
Avatar billede milou Nybegynder
12. marts 2001 - 10:24 #11
Dik. i output list variabels tæller den fint deudaf
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 10:27 #12
Generelt har folk (Til tider inkl. mig selv) svært ved at forstå hvordan man går fra MovieClip til Scene. Umiddelbart har du gjort det rigtigt ved at kalde en label.

Alternativt kan du kalde en frame i roden.

if (_root.MitMovieClip.score>10) {
    tellTarget (\"_root\") {
        gotoAndPlay (20);
    }
}


Og så i Frame 20 i roden have den action, der kalder scene 2

gotoAndStop (\"Scene 2\", \"to\");

/Nikolaj
Avatar billede milou Nybegynder
12. marts 2001 - 10:31 #13
Hvis jeg eklærer min score skal det være i første frame, right.. vil det sige at jeg skal flytte resten over i frame2 inl. actionen med operatoren > etc, eller kan jeg bar lægge den uden for filmen i en movieclip ligsom jeg har gjort med hele keydownhistorien der får kaninen til at flytte sig?
Avatar billede diktator Nybegynder
12. marts 2001 - 10:31 #14
Doooh --  skal du ikke køre dit script som et loop eller OnClipEvent(enterFrame) ?? .... ellers tjekker den jo kun første gang du pasere framen ...
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 10:34 #15
Diktator - han må have et loop, da hans tæller jo virker fint.
Avatar billede diktator Nybegynder
12. marts 2001 - 10:36 #16
Hans tæller kører på hans object formoder jeg, og påvirkes at HitTest funktionen ...
Avatar billede milou Nybegynder
12. marts 2001 - 10:36 #17
nå jaaah, jeg er kørt træt..vil nu prøve jeres forslag, dejligt med lidt input og da jeg sidder hjemme med mit 56k bliver jeg nød til at stå af men vender snarest tilbage..men intil videre TAK!!
Avatar billede milou Nybegynder
12. marts 2001 - 10:38 #18
..og ikke for noget men jeg er en hun..
/milou
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 10:39 #19
Milou ellers send os los Flashos Filo så kan vi kigge den efter i sømmene.
Avatar billede diktator Nybegynder
12. marts 2001 - 10:40 #20
milou :: sorry ;-)
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 10:43 #21
høømmm... Det tror jeg faktisk allerede at du milou har rettet mig i før.... hmmm...
Avatar billede milou Nybegynder
12. marts 2001 - 10:45 #22
Det vil jeg gerne, hvad er din email adresse?  Jeg zipper den ned. Det er bare en prototype hvor grafikken er nedprioteret....
Avatar billede diktator Nybegynder
12. marts 2001 - 10:45 #23
milou :: din HitTest funtion kører på de enkelte gulerodder!? - Hvis du sætter scriptet på din kanin, som hovedActor, kan du samtidigt køre dit IF/ELSE parameter på en OnClipEvent(EnterFrame) - men det kræver at scriptet bliver skrevet lidt om ...
/D!ktator
Avatar billede diktator Nybegynder
12. marts 2001 - 10:46 #24
:: admin@diktator.dk ::
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 10:48 #25
whatever@nikolajdu.dk
Avatar billede milou Nybegynder
12. marts 2001 - 11:00 #26
okey jeg skal lige guide skorstensfejeren rundt( ja det rigtigt!!) så...det vil være så fedt at få noget hjælp
Avatar billede diktator Nybegynder
12. marts 2001 - 12:18 #27
milou :: Jeg har send en .fla til dig

Jeg har scriptet lidt på din hare, og sat den til at gå til næste frame hvis _root.score er større end 10.(øøhh, den står vist nok til større end 2, da jeg ikke gad at teste på 10) På næste scene kommer kommandoen GoTo Next scene.

Jeg har sat en stop kommando på 1. frame, samt defineret \'score=0\' som en global variable...

Skriv hvis du er i tvivl om noget

/D!ktator.dk
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 12:20 #28
onClipEvent (enterFrame) {
    tellTarget (\"_root.hare8\") {
        setProperty (_root.hare8, _visible, 0);
    }
    if (this.hitTest(_root.you)) {
        /:score = Number(/:score)+1;
        setProperty (this, _x, 465);
        setProperty (this, _y, 120);
        tellTarget (\"_root.hare8\") {
            setProperty (\"_root.hare8\", _visible, 1);
        }
    }
}
onClipEvent (enterFrame) {
    if (_root.score==10) {
        tellTarget (\"_root\") {
            gotoAndPlay (2);
        }
    }
}

Sæt den her ind på hver gulerod så virker det.

I frame 2 i roden sætter du så din gotoAndStop (\"Scene 2\", \"to\"); ind.
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 12:22 #29
he he... Det lader til at vi har lavet fldstændigt samme version.
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 12:24 #30
Nej alligevel ikke helt, når jeg læser dit svar igennem.
Avatar billede diktator Nybegynder
12. marts 2001 - 12:25 #31
Nikolaj :: Er det ikke smartere at sætte det script på haren...
-så behøver man kun, at skrive det en gang, og hvis man senere skal ændre nogle parametre er det ikke særlig smart at de er spredt for vinden ;-)
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 12:27 #32
Man behøver heller ikke sætte scriptet ind på hver gulerod man kanbare lægge det ind i så vil det være i alle gulerødder. anyway har du nok ret i at det ville have været nemmere at scripte haren. Har ikke rigtigt tænkt over det.
Avatar billede diktator Nybegynder
12. marts 2001 - 12:28 #33
Jeg har iøvrigt lige en lille rettelse til hvad jeg beskrev før
...På næste FRAME kommer kommandoen GoTo Next scene.
Avatar billede nikolajdu Nybegynder
12. marts 2001 - 12:28 #34
Altså bare lægge den her ind i selv guleroden.

if (_root.score==10) {
        tellTarget (\"_root\") {
            gotoAndPlay (2);
        }
    }
Avatar billede diktator Nybegynder
12. marts 2001 - 12:32 #35
Ja, der er mange måder at gøre det på ;-)
Avatar billede milou Nybegynder
12. marts 2001 - 14:49 #36
Er tilbage på nettet for en kort bemærkning..det ser spændende ud og skal afprøve så hurtigt jeg kan, men er ikke i tvivl om at I har løst det..det må udløse extra bonus...

Tak
/milou
Avatar billede milou Nybegynder
14. marts 2001 - 00:04 #37
Så er det vist tid til pointdeling...
Jeg gir de 80 her til diktator og opretter et nyt spørgsmål med 80 til dig Nicolaj.
Er det ok?
Jeg ha fået styr på lidt mere af actionscriptingens mysterier takket være jeres hjælp og labyrinten er klar til at bygges op for alvor.
Dog er det der med at gå fra MC til ny scene stadig en lidt skummel sag...jeg synes faktiskt det fungerede bedre i Flash 4 men det er vel en vanesag.
Tak for nu
/milou
Avatar billede nikolajdu Nybegynder
14. marts 2001 - 00:40 #38
Det er fint med pointene.

Du kunne have nøjedes med at trykke oppe i venstre hjørne på \"afsæt flere point\" (du kan ikke se den nu hvor du har accepteret.)

Håber alt er vel og kaninen har det godt. Du spørger bare løs. Vi kan godt li´ de her ActionScript spørgsmål.

/Nikolaj
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