Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-02-2004, 13:48   #1 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
SharedObjects

hi,

habe ein kleines spiel mit einer highscoreliste gebastelt. nun soll eine beschränkung eingebaut werden, dass sich der user nach einem eintrag, erst wieder am nächsten tag in die highscore eintragen kann.
der eintrage-button wird dazu auf _visible = 0 bzw. _visible = 1 gesetzt.

leider funzt das ganze nicht so recht (siehe script).


//Erstellung bzw. Öffnen der datum.sol-Datei
cookie = SharedObject.getLocal("datum","/");


//Ist dies der erste Besuch des Benutzers
if (cookie.data.savedate == undefined) {
ausgabe = "Dies ist Ihr erster Besuch...Herzlich Willkommen";
_root.button._visible = 1;


}else if (cookie.data.savedate < cookie.data.nextdate){
_root.button._visible = 1;
ausgabe = "Auf geht´s zu einem neuen Versuch!";


}else {
//letzten Besuch des Benutzers ermitteln. Hierfür wird das zuletzt gesicherte Datum-Objekt
//ausgelesen und ausgewertet

// var uhrzeit = new String(cookie.data.savedate).split(" ")[3];

var tag = cookie.data.savedate.getDate();
var monat = cookie.data.savedate.getMonth()+1;
var jahr = cookie.data.savedate.getFullYear();

if (tag<10) {
tag = "0"+tag;
}

if (monat<10) {
monat = "0"+monat;
}

ausgabe = "Ihr letzter Besuch war am: " +tag+ "." +monat+ "." +jahr;


//Hier wird das nächste Besuchsdatum ermittelt

var nextdatetag = cookie.data.nextdate.getDate()+1;
var nextdatemonat = cookie.data.nextdate.getMonth()+1;
var nextdatejahr = cookie.data.nextdate.getFullYear();

if (nextdatetag<10) {
nextdatetag = "0"+nextdatetag;
}

if (nextdatemonat<10) {
nextdatemonat = "0"+nextdatemonat;
}

shownextdate = nextdatetag+ "." +nextdatemonat+ "." +nextdatejahr;


}


//Das data-Objekt eines SharedObjects dient als Schnittstelle und Informationscontainer
//zwischen der SOL-Datei und dem Flash-Film. Im Data-Objekt abgelegte Informationen
cookie.data.savedate = new Date ();
cookie.data.nextdate = new Date ();

hat jemand einen tipp?!

gruss sven
xlive ist offline   Mit Zitat antworten
Alt 23-02-2004, 19:50   #2 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
hi,

die lösungsdatei, cookies.zip, liegt unter: http://www.castra.de/download.htm
die drei werte,...
-> aktdate: gibt das aktuelle datum wieder
-> neudate: das aktuelle datum +1 (tag)
-> gamedate: bezieht sich auf das SharedObject und erhöht den wert um +2 (tage)
...dienen nur nur info.

die .sol-datei (cookie) wird unter
--> win 2000 und xp in dem ordner: C:\dokumente und einstellungen\benutzer\andwendungsdaten\macromedia \flash player abgelegt.


prinzipiell funzt meine lösung.
für einen besseren lösungsansatz, bin ich immer dankbar.

gruss sven
xlive ist offline   Mit Zitat antworten
Alt 23-02-2004, 22:57   #3 (permalink)
Neuer User
 
Benutzerbild von Kryz
 
Registriert seit: Oct 2001
Ort: Hamburg
Beiträge: 45
Berücksichtigt die Lösung auch den Fall, dass ein User seine Systemzeit umstellt, um doch häufiger einen Highscore einzutragen?
__________________
Gruß
Kryz | WeBlog: http://www.christianscholz.com
Kryz ist offline   Mit Zitat antworten
Alt 24-02-2004, 09:56   #4 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
hi,

ja, leider nicht ;-)
da sich die zeit, immer an der client-system-uhr orientiert. wenn du hierfür eine lösung kennst, lass es mich wissen.

gruss sven
xlive ist offline   Mit Zitat antworten
Alt 24-02-2004, 14:09   #5 (permalink)
Neuer User
 
Benutzerbild von Kryz
 
Registriert seit: Oct 2001
Ort: Hamburg
Beiträge: 45
Nein, leider nicht. Ich wollte auch nur ein wenig sticheln...

Es sei denn, es besteht die Möglichkeit, dass Du über eine bestehende Onlineverbindung die Zeit Deines Servers abfragen lässt oder gar für jeden Spieler mitloggst, wann er zuletzt einen HS gespeichert hat.

Aber wenn Du schon mit lokalen Speichermethoden hantierst, ist es wahrscheinlich, dass online speichern eben keine Option ist. ;-)
__________________
Gruß
Kryz | WeBlog: http://www.christianscholz.com

Geändert von Kryz (24-02-2004 um 14:12 Uhr)
Kryz ist offline   Mit Zitat antworten
Alt 24-02-2004, 14:24   #6 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
wenn dein server php unterstützt:

Flash: loadVariables("zeit.php?" add random(999));

in der "zeit.php":
<?PHP
$datum = getdate(time());
echo "&tag=" . $datum["mday"] . "&";
echo "&monat=" . $datum["mon"] . "&";
echo "&jahr=" . $datum["year"] . "&";
?>

mfg geo
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ 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 06:55 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele