Avatar billede flash-man Nybegynder
12. april 2002 - 21:26 Der er 9 kommentarer og
1 løsning

Highscore-liste i flash-application

Hej Eksperter!

Er det muligt at lave en highscore liste i flash uden at bruge ASP.. Altså hvis man nu har lavet et spil med points og man så har lavet det til en .exe-fil ??

Ved godt det er lidt ***** skrevet, men I forstår hvad jeg mener =)

</FlashMan!>
Avatar billede phrozia Juniormester
12. april 2002 - 21:47 #1
Ja, så kan du max huske en hiscore liste per gang du kører filen, med mindre du opretter en fil ved siden af den skal gemme det i, men så ved jeg ikke om du skal bruge ASP eller PHP til at hente variablerne ind med.
Avatar billede paask Nybegynder
13. april 2002 - 00:08 #2
Det er faktisk muligt at lave en lille finte med en .txt fil. Virker dog kun i Flash 5 og MX.

I stand-alone players (kun .exe og .hqx filer, ikke i en browser/web) kan du gemme dine variabler, som fx i en high-score, direkte på brugerens harddisk i en tekst fil. Altså kan du lave et Flash spil der gemmer high-score lokalt som et hvert andet spil.

Det er dog kun muligt at save variabler der ligger i _root, så hvis du har dem i et movieclip skal de først overføres til _root.

Hvis du fx har en variabel som yourPoints = 2297; - og spillet skal afsluttes, så benytter du en fscommand på en knap eller lignende. Den vil se således ud:

on (release) {
    fscommand ("save", "navnetPaaTekstFilen.txt");
}

Under file -> publish settings skal du kun afkrydse Windows Projector eller Mac Projector. I samme folder/rod som du gemmer din .fla fil kan du efter filen er afspillet se en tekst fil, som fx navnetPaaTekstFilen.txt. Det er desuden muligt at gemme med en anden path, og enddog en anden file-extension end .txt hvis du vil det.

Tekst filen vil så have &yourPoints=2297 (eller din egen high-score selvfølgelig ;0) som indhold. Ved at benytte en ganske normal loadVariables kan du så hente denne tekst fils variabler som normalt, og din high-score virker.

Hvis det var en løsning som denne du ledte efter, så er alt jo godt. Så vidt jeg da ved er det ikke muligt at bruge ASP eller PHP i stand-alone players.

Håber du får det til at virke :0)

mvh
paask
Avatar billede flash-man Nybegynder
16. april 2002 - 20:23 #3
paask > hvis jeg ny siger at det er en frame der fortæller at pointene skal blive sendt videre til et andet text-field.. (score = points) men det er vel nok "score" der skal sendes til .txt-filen ?

Men vil du ikke prøve at skrive hvordan koden skal se ud, hvis vi siger at feltet med pointene hedder "score" og de skal sendes til hiscore.txt (kan man ikke sende det til en .ini-fil eller noget andet end .txt ?)
Hvordan får man spillet til at hente highscore-listen??
Kan man have mere end en score på listen?
Er det muligt at man osse kan gøre så'n så brugeren kan skrive sit navn?
Avatar billede flash-man Nybegynder
16. april 2002 - 20:24 #4
jeg er rede til at give flere points hvis det bliver for stort et arbejde...
hvis du vil se spillet så klik dig ind på http://www.friserverplads.dk/bird_hunter så kan du se hvad det er du har med at gøre...
Avatar billede Kengun Praktikant
16. april 2002 - 21:54 #5
Flash-man> Du skal vel have litt flere lyd efekter?
Avatar billede paask Nybegynder
25. april 2002 - 10:51 #6
Hey flash-man.

Jeg har været væk et stykke tid, så jeg har først set din kommentar nu. Jeg tager dine spm. lidt af gangen...

1. Én ting du skal gøre dig klar er, præcist hvilke variabelnavne du vil benytte. Du kan som sagt gemme eksternt, og så er det for så vidt fuldstændig ligemeget hvor mange variabler eller hvilke navne de har. Hvis du undervejs i spillet gemmer points i variablen score, og når spillet er slut overfører til variablen points, så er det oplagt at det er den du skal gemme.

2. Du kan sagtens gemme den eksterne fil som "highscore.ini" og filen vil ligne en .ini fil på brugerens maskine. Ligeledes kan du gemme som .gif eller lignende - maskinen vil tolke filen alt efter hvilken extension du giver. Det nytter dog ingenting, for indholdet er tekst og du kan kun bruge filen som en .txt fil. Men det vil altså sige du kan gemme som "blabla.gif" - brugeren vil ikke vide hvilken fil det så er, og du kan benytte den som normalt. Jeg vil nok foreslå dig bare at holde dig til "highscore.txt".

3. I første frame i din movie kan du loade den eksterne fil således:
loadVariables("highscore.txt","");
Hvis filen endnu ikke er skabt gør det intet, hvis den er vil du på den måde hente den eksterne fil og have alle tidligere gemte variabler til rådighed.

4. Du kan godt have flere scores, ellers vil der jo ingen idé være med en high-score liste ;0)

Det drejer sig bare om, at du i slutningen af spillet skal foretage nogle checks. Forskellige variabel checks o.lign. fra den eksterne fil kan afgøre hvilken placering brugeren kan få, alt efter points størrelse. Derefter kan du navngive variablen points som ex. "placering5" og gemme den variabel.

5. Ved at have et input felt med variabelnavnet "name" kan brugeren indtaste sit navn. Når du så gemmer den eksterne fil vil denne variabel ligeledes gemmes og navnet er husket til senere brug.


Det eneste det her drejer sig om er, at du formår at kaste variabler og værdier frem og tilbage mellem dynamiske tekstfelter internt i din movie samt at sammenføre dem med din eksterne txt fil - så burde du snildt kunne kreere en fint funktionel high-score liste :0)

Håber det hjalp lidt, ellers må du skrive igen.

mvh
paask
Avatar billede paask Nybegynder
25. april 2002 - 10:55 #7
Har lige set dit game, meget sødt lille spil :0)

Én hurtig forbedring er, at dit sigtekorn meget muligt er brugt med startDrag, ikke?! Hvis du istedet bruger en kode som denne

onClipEvent(mouseMove){
_root.sigtekorn._x = _xmouse;
_root.sigtekorn._y = _ymouse;
updateAfterEvent();
}

så vil det følge curseren betydeligt mere flydende. Ellers godt arbejde :0)
Avatar billede flash-man Nybegynder
25. april 2002 - 12:58 #8
Jo tak.. det hjalp vel en lille smule med den lange forklaring, men jeg er stadig ikke helt sikker på hvor jeg skal lægge de forskellige koder.. Det er først her for nylig jeg er begyndt at programmere i Flash, normalt plejede jeg bare at bruge gotoandplay(1) og alle deder.. (du ved sikkert godt hvad jeg mener?)

Men vil du ikke lige prøve at beskrive lidt hvordan det foregår..

Og så kan jeg samtidig fortælle lidt om hvordan det er bygget op og alt det der..

Introen er én scene, der hvor man skyder fugle er én scene, og der tilsidst med pointene er også én scene..

Highscore-listen skal være på sidste side, med 5 (ellere flere) scores..

Men hvordan skal det så gøres så'n at navnet osse kommer med?? Skal jeg lave en frame mellem der hvor man skyder fuglene og der hvor man får points, hvor man kan skrive sit navn, og se sine points...?

Resten af det skal der vist ikke pilles så meget ved, tror jeg.. Jeg er igang med nogen få andre forbedringer samtidig...
Avatar billede flash-man Nybegynder
02. maj 2002 - 08:46 #9
Nåh... Jeg lukker spm'et, og prøver at få hjælp til resten på en anden måde..

I må have det godt allesammen, og tak for hjælpen Paask!
Avatar billede paask Nybegynder
06. maj 2002 - 14:22 #10
Håber du fandt ud af det flash-man! Jeg har ikke så meget tid til eksperten lige i øjeblikket, så jeg fik aldrig set videre på din high-score liste. Jeg vil foreslå dig at søge på nogle forskellige tutorial sites, det kan jo være du ikke er den første med samme ønske :0)

Det drejer sig i bund og grund blot om, at du får styr på en masse if-else if-else sætninger og lignende. Så kan kan i slutningen af skyde scenen have en frame med stop(); action. Der kan man se sine point og indtaste sit navn, alt efter om man har nok points eller ej. Håber du klarer den :0)
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