Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-03-2009, 10:51   #1 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
Highscore Tabelle integrieren

Hallo zusammen

ich habe mir bei Flashkit ein Tutorial gedownloadet.
Die Highscore Tabelle habe ich auf meinen Server geladen und funktioniert prima.

Nun möchte ich diese Tabelle in mein Flashgame integrieren.
Der Code für das versenden schaut so aus:


on(release)
{

scoretable.filename = "scores/demo.sco";
scoretable.scoresize = 10;
scoretable.action = "INSERT";
scoretable.viewtype = "FLASH";
scoretable.winname = _root.name;
scoretable.winscore = _root.score;
scoretable.loadVariables("http://www.meinedomain.de/scores.php", "GET");

}


Ich habe alle Elemente genommen in mein Flashgame kopiert und das game hochgeladen, doch wenn ich nun auf den Versendebutton klicke passiert leider nichts (warten auf www.meinedomain.de.....)

Muss der Code umgeschrieben werden ???

__________________
Actionscript bringt mich eines Tages noch um ^^
chrisflasher ist offline   Mit Zitat antworten
Alt 11-03-2009, 11:17   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Wie sieht denn das PHP-Skript aus?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 11-03-2009, 11:31   #3 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
Vielen Dank für die schnelle Antwort, du hast mir schon des öfteren geholfen

scores.php beinhaltet:


<?php

$winscore = (int)$winscore;

// Create a Blank File if it doesn't already exist
if (!file_exists($filename))
{
$file=fopen($filename, "w");
fclose ($file);
}

// Read the file in
$oscores = file ($filename);
$numreadin = count($oscores);

// Break out the data into a new 2-d array called $tscores
for ($i = 0; $i < $numreadin; $i++)
{
$g = unserialize($oscores[$i]);
$tscores[$i][0] = $g[0];
$tscores[$i][1] = $g[1];
}

// Fill in any missing data with none/0
for ($i = $numreadin; $i < $scoresize; $i++)
{
$tscores[$i][0] = 0;
$tscores[$i][1] = "none";
}

// Process the actions

// Insert a score/name
if ($action == "INSERT")
{

// Add name to end of list, and sort
$tscores[$scoresize + 1][0] = $winscore;
$tscores[$scoresize + 1][1] = $winname;
rsort ($tscores);

$file=fopen($filename, "w");

// Write them out
for ($i = 0; $i < $scoresize; $i++)
{
$st = serialize($tscores[$i]) . "\n";
fputs($file, $st);
}

fclose($file);
}

// Clear the list
if ($action == "CLEAR")
{

$k[0] = 0;
$k[1] = "none";
$ser = serialize($k);

$file=fopen($filename, "w");

for ($i = 0; $i < $scoresize; $i++)
{
$st = $ser . "\n";
fputs($file, $st);
}

fclose($file);
}

// Process the OUTPUT options
if ($viewtype == "HTML")
{
// HTML PAGE CREATED HERE
?>


<table cellpadding=2 cellspacing=2 border=0 width="152">
<tr align=center>
<th bgcolor="#000033"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">#</font></th>
<th bgcolor="#000033"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Name</font></th>
<th bgcolor="#000033"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Score</font></th>
</tr>

<?

for ($i = 0; $i < $scoresize; $i++)
{
echo ("<tr bgcolor='#666666' align='center'><td><font size='2' face='Arial, Helvetica, sans-serif'>");
echo ($i + 1);
echo ("</font></td><td><font size='2' face='Arial, Helvetica, sans-serif'>");
echo ($tscores[$i][1]);
echo ("</font></td><td><font size='2' face='Arial, Helvetica, sans-serif'>");
echo ($tscores[$i][0]);
echo ("</font></td></tr>");
}

?>
</table>
<?

}

// FLASH DATA CREATED HERE
if ($viewtype == "FLASH")
{
for ($i = 0; $i < $scoresize; $i++)
{
echo ("NAME" . $i . "=");
echo ($tscores[$i][1]);
echo ("&SCORE" . $i . "=");
echo ($tscores[$i][0]);
echo ("&");
}
}

?>




mein Game heisst beispielsweise spiel_03.fla
__________________
Actionscript bringt mich eines Tages noch um ^^

Geändert von chrisflasher (11-03-2009 um 11:34 Uhr)
chrisflasher ist offline   Mit Zitat antworten
Alt 11-03-2009, 11:38   #4 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Ach noch was. Was ist scoretable, eine LoadVars-Instanz?
Oder gab es das in Flash MX noch nicht?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 11-03-2009, 11:52   #5 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
ich habe mal nachgeschaut:

scoretable ist der Instanzname von dem Movieclip scoretable ^^

__________________
Actionscript bringt mich eines Tages noch um ^^
chrisflasher ist offline   Mit Zitat antworten
Alt 11-03-2009, 12:21   #6 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Probiere mal so auf die Variablen zuzugreifen.

Code:
$_GET["winscore"]
Hast Du das übrigens irgendwo online?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 11-03-2009, 12:28   #7 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
habe dir eine Nachricht geschickt =)
__________________
Actionscript bringt mich eines Tages noch um ^^
chrisflasher ist offline   Mit Zitat antworten
Alt 11-03-2009, 12:59   #8 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
In der Beispiel.swf klappt es aber.
Oder soll es da eh klappen?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 11-03-2009, 13:09   #9 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
ja da klappt es =)

aber leider weiss ich nicht wie ich die komplette highscore tabelle in mein flashspiel integrieren soll.
Sobald ich sie in das Game einbaue funktioniert die Tabelle nicht mehr.
__________________
Actionscript bringt mich eines Tages noch um ^^

Geändert von chrisflasher (11-03-2009 um 13:26 Uhr)
chrisflasher ist offline   Mit Zitat antworten
Alt 11-03-2009, 14:42   #10 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
ich habe unter Umständen eine andere Lösung gefunden, ist es möglich das ich 2 swf files verwenden kann ?

kann ich es irgendwie bewerkstelligen, das ich aus meinem gameflash eine variable in die score leiste des highscore flashs lade ????
__________________
Actionscript bringt mich eines Tages noch um ^^
chrisflasher ist offline   Mit Zitat antworten
Alt 16-03-2009, 16:34   #11 (permalink)
Neuer User
 
Benutzerbild von chrisflasher
 
Registriert seit: Mar 2008
Beiträge: 98
ich habe nun leider noch ein kleines Problem:

In der Highscore soll man anstatt seinen Namen seine Email Adresse eingeben können. Leider funktioniert das -->@<-- Zeichen nicht. Wie kann ich das ändern ?

speichern.php


<?

if (!preg_match("=\.\.|http=i",$datei) && substr($datei, -4) == '.txt') {
# Der Inhalt der Highscore wird in die Variable $inhalt geladen
for($i=0;$i<count($line=file($datei));$i++) {
$inhalt .= $line[$i];
}

# Der neue Eintrag wird der Variable $inhalt hinzugefügt
$inhalt .= $hits.";".$name."\n";

# Inhalt wird in die Datei geschrieben
$fp=fopen($datei, "w");
fputs($fp,$inhalt);
fclose($fp);
}
?>





laden.php

<?
# Die Datei indem die Highscore gespeichert werden soll wird im
# Flash Movie eingestellt (erstes Schlüsselbild - Ebene Action).

$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"]);
}



$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ängt bei 0 an)
if($key == 9) break;
}

fclose($fp);
unlink($datei);
rename($datei.".bak", $datei);

# Ausgabe für Flash
echo "hits=".$hits;
echo "&namen=".$namen;
echo "&geladen=1"; # Variable die für den Loader im Flash-Movie benötigt wird

?>
__________________
Actionscript bringt mich eines Tages noch um ^^

Geändert von chrisflasher (16-03-2009 um 16:58 Uhr)
chrisflasher ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele