Flashhilfe.de - Flash Community

Highscore für Flashgame [Flash 8]

 


AntwortenRegistrieren Seite1  

Designsturm#1
Benutzerbild von Designsturm
Beiträge: 37
Registriert: Feb 2006

30.01.2008, 22:11

Bin vor kurzem über WS-Tetris von Websector gestolpert, was man ja auch hier herunterladen kann.Soweit so gut, lässt sich auch ohne weiteres einbinden.

Was mir allerdings fehlt, ist eine dazugehörige Highscore.
Nun sitze ich schon eine ganze weile daran und versuche herauszufinden, was ich dafür brauche bzw wie ich es anstellen muss.
Leider bin ich kein Flash-Profi und auch PHP beherrsche ich nicht zu 100% .
Allerdings scheitert es momentan eher an Flash, da ich überhaupt keinen Ansatz finde.

Habe mir schon mehrere Tutorials zum Thema Highscore angesehen, allerdings sind die meisten ja zum selber eintragen.Ich möchte aber eine automatische, bei der sich nach Ende des Spiels automatisch die Punkte eintragen,wenn man dies möchte.

Aber wie bekomme ich die Punktzahl aus dem Flashgame in eine Highscore ?
Die Punktanzeige im Flash ist ja einfach nur ein dynamisches Textfeld, also müsste ich irgendwie die Endpunktzahl dort heraus bekommen.Aber wie ?

Hat vielleicht jemand einen Ansatz oder einen Vorschlag wie ich das am besten Umsetzen kann ?!

Vielen Dank im vorraus
Liebe Grüße
Alex

Werbung
Beiträge: 0
Registriert: Feb 2016


Alex_Milde#2
Benutzerbild von Alex_Milde
Beiträge: 204
Wohnort: Hamburg
Registriert: Aug 2005

30.01.2008, 23:27

also
was grundsätzliches zu flash :-)
flash läuft clientseitig -> also auf deinem rechner. highscores sollen ja von jedem gesehen werden also müssen sie auf dem server liegen als datenbank, txt, xml oder so.

d.h. du musst vom flash aus eine webseite auf einem server aufrufen die mittels serverseitiger scrtipt sprache (lange rede kurzer sinn evtl ne php datei) etwas in eine datendatei (xml am besten) schreibt.

diese datei lädst du beim start von deinem spiel ins flash via xml loader. wenn dein spieler fertig ist gibts nen button submit highscore oder es geht automatrisch ne funktion auf . die funktion übersendet den score an die php datei also http://serverurl.de/.../writeStats.php?score=ERZIELTEPUNKTZAHL die php datei liest nun dein xml und hängt die neue score ein.

wichtig:
das ist eine gaaanz einfach struktur. also du solltest das dign absichern weil so kann jeder mensch deine higscore knacken indem er einfach die php aufruft mit ner beliebigen zahl. also schlüssel mit übergeben...

aber ich denke zum anfang sollte das reichen.

melde dich wenn du fragen hast

lg
vom andren alex

-- wer nicht fragt bleibt dumm --
-- wer nicht fragt bleibt dumm --
Geändert von Alex_Milde am 30.01.08 um 23:28 Uhr
Designsturm#3
Benutzerbild von Designsturm
Beiträge: 37
Registriert: Feb 2006

Themenautor/in

31.01.2008, 20:07

Hey,

danke erstmal für die Antwort.
Habe ein bisschen rumprobiert und bin dann letztendlich auf das "shooter highscore" Tutorial hier gestoßen. Dies sollte ja als Grundlage gut funktionieren..allerdings bekomme ich nichtmal dies zum laufen ?!
Ich weiß auch nicht warum..
Eigentlich ist es relativ simpel.Das Ergebniss wird mittels php datei in eine .txt datei geschrieben.

PHP version auf meinem Server liegt über 5 und 4 ist ja nur notwendig.

Das spielen geht natürlich ohne probleme, aber wenn ich dann meine highscore übermitteln will, bleibt die liste immer leer.
Öffne ich dann die "laden.php4" im browser, erscheint da nur die Zeile :

"hits=&namen=&geladen=1"

Sollte da nicht normalerweise der Inhalt der Highscore.txt stehen ?
Diese bleibt beim speichern immer leer, also übermittelt flash garkeine werte, oder ?
Habe dann mal selber was eingetragen, aber das erscheint dann auch nicht in der highscore liste.
Also funktioniert laden & speichern nicht.
Was mache ich falsch ? habe der .txt alle rechte zugeteilt, also 777 und die beiden .php4 dateien sowie die .swf in einem ordner.

Habe auch da ganze Forum hier durchsucht, aber das problem tritt bei keinem so auf.
Bei den meisten lädt er nur ewig und fährt sich dann fest.bei mir lädt er relativ kurz, aber er speichert nichts und lädt auch die werte aus der .txt nicht.

Was kann ich noch probieren ?

Lg ALex

EDIT :

Habe die Speichern.php etwas verändert, jetzt haut es hin.Zumindest speichert er jetzt die Werte.
Dafür funktioniert die Anzeige nicht.
Er lädt jetzt ewig und nichts passiert.Das er die Werte wenigstens speichert, sehe ich lediglich an der highscore.txt die sich füllt.
Aber wiegesagt, dafür zeigt er mir die highscore im flash jetzt garnicht mehr an da er nur lädt.
Habe aber schon den ganzen php code auf fehler untersucht und konnte keine finden, oder sehe ich nur vor lauter bäumen den Wald nicht ?
Hier der Code der "laden.php" :

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?
# PHP Version
$ver_ary explode('.',phpversion());

if(
$ver_ary[0] > || ($ver_ary[0] >= && $ver_ary[1] >= 1)) {
   
$datei $_GET['datei']; // Ab PHP v4.1
} else {
   
$datei $HTTP_GET_VARS['datei'];
}

# Pr&uuml;fen ob Datei auf Datentr&auml;ger vorhanden ist. / Verzeichnis Wechsel verhindern wenn $datei mit / anf&auml;ngt
if(file_exists($datei) && !preg_match('=^/|\.\.|:=',$datei)) {
   
$i 0
   
$fp = @fopen($datei,"r"); 
    while (
$zeile= @fgets($fp,1000)) { 
       
# entfernt Leerzeichen am Anfang und Ende der Zeile 
       
$zeile trim($zeile); 
         
       
# Teilt die Zeile anhand des Semikolons 
       
$zeile split(";",$zeile); 
         
       
# Erstellt ein Mehrdimensionales Array 
       
$id{$i} = array("Name" => $zeile[1], "Hits" => $zeile[0]); 
         
       
$i++; 
    } 
    @
fclose($fp); 
   
   
# Sortiert das Array nach Hits 
   
usort($id'sortier_funktion'); 
   
   
# Sortierfunktion 
   
function sortier_funktion($a$b) { 
        return 
strnatcasecmp($a["Hits"],$b["Hits"]); 
    } 
   
   
# Ausgabe wird umgedreht 
   
$id array_reverse($id); 
   
   
$fp=fopen($datei.".bak","w"); 
   
# Array Ausgabe 
   
while (list($key$value) = each($id)) { 
       
$dat_namen $id{$key}{"Name"}; 
       
$dat_hits $id{$key}{"Hits"}; 
         
       
fputs($fp,$dat_hits.";".$dat_namen."\n"); 
         
       
$namen .= $dat_namen." <br>"
       
$hits .= $dat_hits." <br>"
         
       
# Nur die ersten 10 Ergebnisse ausgeben (Index f&auml;ngt bei 0 an) 
       
if($key == 9) break;
    } 
   
   
fclose($fp); 
   
unlink($datei); 
   
rename($datei.".bak"$datei); 
   
   
# Ausgabe f&uuml;r Flash 
   
echo "&hits=".$hits
    echo 
"&namen=".$namen
    echo 
"&geladen=1"# Variable die f&uuml;r den Loader im Flash-Movie ben&ouml;tigt wird
}
?>
Geändert von Designsturm am 31.01.08 um 21:05 Uhr
Alex_Milde#4
Benutzerbild von Alex_Milde
Beiträge: 204
Wohnort: Hamburg
Registriert: Aug 2005

01.02.2008, 17:11

hi
du musst doch nur die highscore.txt in flash laden und dort dann passend verarbeiten.


lade dir mal die highscore.txt ins flash und trace sie dir mal. dann kannst du durch stringmanipulation das ding in ein array / objekt ballern und schön anzeigen lassen

lg
alex

-- wer nicht fragt bleibt dumm --
-- wer nicht fragt bleibt dumm --
Werbung
Beiträge: 0
Registriert: Feb 2016


Ralf.Rutke#5
Benutzerbild von Ralf.Rutke
Beiträge: 16
Wohnort: Lauingen (Donau)
Registriert: Mar 2011

15.03.2011, 15:02

ich weiß, schon sehr alter Post ... habe aber das gleiche Problem.

Meine Frage ist jetzt, wie hast du die Speichern.php4 verändert ?

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de