Avatar billede gerri Nybegynder
07. marts 2001 - 13:29 Der er 20 kommentarer og
1 løsning

point-tæller i Flash

Hej

Jeg skal bruge en pointtæller til et lille spil jeg er ved at lave i Flash!

Et objekt skal fange nogle forskellige genstande der kommer faldende. Der skal laves en form for pointsystem, hvor der bliver registreret hvor mange genstande der fanges!

Jeg har besøgt flere Flash sites med tutorials ol. men har ikke rigtig kunnet gennemskue scriptene!

Er der nogle der kan hjælpe mig???

Gerri

Avatar billede nikolajdu Nybegynder
07. marts 2001 - 13:31 #1
Er problemet din Hit test?
Avatar billede gerri Nybegynder
07. marts 2001 - 13:32 #2
Det ved jeg ikke rigtig...

Jeg er temmelig meget nybegynder, og har nok mest brug for et sted, hvor jeg kan læse noget om det!
Avatar billede gerri Nybegynder
07. marts 2001 - 13:35 #3
...der er hittest på de faldende objekter, og de er sat til at blive usynlige når de rammer den styrende figur!
Avatar billede nikolajdu Nybegynder
07. marts 2001 - 13:37 #4
Du skal lave en test der fortæller om der bliver fanget noget. Altså om objektet der falder rammer det objekt der skal fange. Det kaldes en hit test.

Når du først ved om der fanges er det en ganske simpel tæller der regner point ud.

point++;

/Nikolaj
Avatar billede nikolajdu Nybegynder
07. marts 2001 - 13:41 #5
Ok.

Nu skal du så lave en variable der hedder point.

Til at starte med sætter du den til 0. Hvis du rammer noget i din hittest lægger du så antallet af point til.

_root.point++;  - Lægger 1 til variablen point.


http://fotx.net/nikolajdu
Avatar billede gerri Nybegynder
07. marts 2001 - 13:43 #6
Hej Nikolaj,

...det virker godt nok med hittest! Genstanden der falder rammer genstanden der skal fange, og den bliver så usynlig!

Hvordan laver jeg så den ganske simple tæller???

Det er første gang jeg prøver eksperten.dk pg jeg ved ikke hvordan man giver point!!
Avatar billede gerri Nybegynder
07. marts 2001 - 13:44 #7
...ok det prøver jeg så!!
Avatar billede nikolajdu Nybegynder
07. marts 2001 - 13:45 #8
Du giver point ud når du er tilfreds med svaret. Du kan så vælge at afvise eller acceptere. En særlig i hærdig indsats fra en svarer resulterer gerne i accept selvom problemet måske ikke blev løst.
Avatar billede nikolajdu Nybegynder
07. marts 2001 - 13:47 #9
Inde i din hittest er der formodenligt en \"if\" action. Det er inde i den du skal sætte din _root.point++;

Du kan også sende mig filen på bimbambusse@nikolajdu.dk så kan jeg rette den for dig, men det lærer du ikke helt så meget af.
Avatar billede nikolajdu Nybegynder
07. marts 2001 - 13:49 #10
Du havde ikke behøvet at give point før dit problem var løst ordentligt.

Du skal så huske at du ude i roden skal have lavet et dynamisk textfield med variablen point.

Det er den vi kalder med _root.point;
Avatar billede gerri Nybegynder
07. marts 2001 - 13:50 #11
scriptet for den faldende gendstand:

onClipEvent (enterFrame) {
    if (this.hitTest(_root.pingo.pose)) {
        setProperty (\"\", _visible, 0);
    }
}



Scriptet for den styrende genstand:

onClipEvent (load) {
    Mouse.hide();
    startDrag (pingo, false, 600, 345, 10, 0);
}


???? Hvor skal jeg indsætte variablen???


Avatar billede diktator Nybegynder
07. marts 2001 - 14:08 #12
onClipEvent (enterFrame) {
    if (this.HitTest(_root.pingo.pose)) {
        _root.points++;
        setProperty (\"\", _visible, 0);
    }
}
Avatar billede gerri Nybegynder
07. marts 2001 - 14:12 #13
Ok...

Hvordan lavet jeg et dynamisk tekstfelt ??


(jeg sagde jo jeg er nybegynder!!! :-)
Avatar billede diktator Nybegynder
07. marts 2001 - 14:16 #14
Vælg tekstværktøj > opret et tekstfelt, vælg; Text options > Dynamic txt

/D!ktator.dk
Avatar billede nikolajdu Nybegynder
07. marts 2001 - 14:25 #15
Tak Diktator.

Var lige i gang med noget vigtigere end www.eksperten.dk - Tjo det findes faktisk. ;-)
Avatar billede gerri Nybegynder
07. marts 2001 - 14:25 #16
hmmmm....jeg kan ikke rigtig få det til at virke!
Avatar billede diktator Nybegynder
07. marts 2001 - 14:32 #17
Dit dynamic tekstfelt skal have variable  \'_root.Points\'
I starten af din film erklærer du samme variable:
Points = \"0\"  Denne variable bliver overskrevet af din hitTest, og vist i dit tekstfelt :)
Avatar billede gerri Nybegynder
07. marts 2001 - 14:34 #18
Ja...men det har jeg vist allerede gjort tror jeg nok, men der vises ikke noget i tælleren!
Avatar billede nikolajdu Nybegynder
07. marts 2001 - 14:37 #19
din tæller skal have en løkke omkring sig for at blive opdateret.

f.eks en gotoAndPlay(1).

Eller du kan lægge den i et movieClip - de looper nemlig helt af sig selv.

Så skal den bare kaldes med _root.MovieClip´sNavn.point i stedet.
Avatar billede gerri Nybegynder
07. marts 2001 - 14:39 #20
Hvis jeg bruger gotoAndPlay(1) hvor skal det så indsættes? På textfield???
Avatar billede diktator Nybegynder
07. marts 2001 - 15:01 #21
Når man laver spil er det en god idé at erklære så mange parametre som muligt. F.eks. er det en god idé at lave en variable for din score.

Score = 1

- så kan du nemt ændre dit pointsystem senere hen i spillet. F.eks på bane 3 skal man have 2 points for hvert hit... så ændre du bare score til:

Score = 2

Din hit ser sådan ud:

onClipEvent (enterFrame) {
    if (this.HitTest(_root.pingo.pose)) {
        _root.points = _root.points+Number(_root.Score)
        setProperty (\"\", _visible, 0);
    }
}

Hvis du gør sådan behøver du ikke at sætte din tæller i et loop...

/D!ktator.dk
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