Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-12-2005, 20:07   #1 (permalink)
Neuer User
 
Benutzerbild von andydrummer
 
Registriert seit: Nov 2005
Ort: Heidelberg
Beiträge: 43
Frage zur Highscore Liste von Flashstar

Hallo Flashers,
ich habe ne Frage bezüglich der Highscore Liste von Flashstar.
Das Teil läuft zwar und ist auch relativ gut gemacht, jedoch ist es in der Form meiner Meinung nach nicht ganz für ein Game geeignet. Nachdem man nämlich seine Score eingetragen hat springt man immer wieder zu dem Frame mit der Eingabe zurück und kann immer und immer wieder eintragen.
Ich hab jetzt echt nen haufen versucht, krieg es aber irgendwie nicht hin.
Da sobald ich zu einem anderen Frame springe dann das ganze nicht mehr funktioniert! Den Eintrage Button hab ich aus der Original FlashStar file entfernt, da ich das aus meinem Spiel heraus abfrage.
Ich will es so haben, dass es sobald ich meinen Namen eingetragen habe auf Frame 2 springt. Ganz simpel eigentlich nur wie ???
Hier mein Code:



Code:
punkte_txt.text=highscore; 
//hiermit bekomm ich die globale var 'highscore' aus meinem GameMovieclip

mein_xml = new XML();
mein_xml.ignoreWhite = true;
status_txt.text = "Lade Einträge!";
mein_xml.load("ausgabe.php?"+new Date().getTime());
mein_xml.onLoad = function(signal) {
	if (signal) {
		status_txt.text = "";
		setListe();
	}
};

function setListe() {
	prev_mc._visible = 0;
	high_mc._visible = 1;
	prev_mc.ladeDaten();
	high_mc.ladeDaten();	
}


function setSpieler() {
	fvorname = vorname_txt.text;
	fnachname = nachname_txt.text;
	fpunkte = punkte_txt.text;
	loadVariables("schreiben.php?"+new Date().getTime(), this, "POST");
	status_txt.text = "Schreibe Daten!";
	this.onData = function() {		
		if (eintrag) {
			this.gotoAndStop(1); 

//wird für die Bestätigung benötigt und ist irgendwie mein Problem, 
//das ich immer wieder bei der Eingabe lande
//wenn man es verändert klappts es nicht mehr mit dem eintragen
//nicht mehr !

			delete eintrag;
		} else {			
			status_txt.text = "Fehler !";
			delete eintrag;
		}
		
	};
}

// Preview Clip
prev_mc._visible = 0;

prev_btn.onRelease = function() {	
	prev_mc._visible = !prev_mc._visible;
	high_mc._visible = !high_mc._visible;
}

//Mein REPLAY butoon im FRAME 2 da wo ich dann hinwill! 
replay_btn.onRelease = function() {	
	
	unloadMovie(this); //soll den highscoreMovie entladen
	_root.gotoAndPlay(2); 
//und damit habe ich vor im darunterliegenden Movie auf das 2 Frame zu springen 
//um nochmal zu zocken, ist glaube ich aber auch falsch so wie es ist!!!

}


stop();
Wenn einer die Highscore von FlashStar kennt dann müsste er das glaube ich kapieren.
Danke schon mal im voraus !

Gruss
Andy

Geändert von andydrummer (11-12-2005 um 20:09 Uhr)
andydrummer ist offline   Mit Zitat antworten
Alt 12-12-2005, 06:20   #2 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
@andydrummer: Hast du schon mal dran gedacht in der Funktion setSpieler() eine Abfrage einzubeziehen? Wie wäre es mit einer Signalvariablen, die beim bestättigen des Highscore Eintrags gesetzt wird und als erstes in der Funktion setSpieler() abgefragt wird.

Nur mal ein kleiner Denkanstoss - ich bin sicher das bekommst du hin.

Eine andere Möglichkeit wäre übrigens eine Zeitliche Sperre - z.B. via IP. Hierzu solltest du dir folgende Lösung mal genauer betrachten:
http://www.flashstar.de/tutlist/index.php3?id=1049

Bin sicher, das gibt dir einige neue Denkanstösse.

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 12-12-2005, 23:01   #3 (permalink)
Neuer User
 
Benutzerbild von andydrummer
 
Registriert seit: Nov 2005
Ort: Heidelberg
Beiträge: 43
Ein wenig weiter !!!

So cool dein Denkanstoss hat mich ein ganzes Stück weitergebracht, jedoch noch nicht ganz zum Ziel !
Und zwar hab ich jetzt gemacht:
Code:
function setSpieler() {
if (replay==1) { //hier wird Statusvariable abgefragt
		gotoAndStop(2); //hier springe ich zum frame mit dem replay button
	 } else {		
	 
	fvorname = vorname_txt.text;
	fnachname = nachname_txt.text;
	fpunkte = punkte_txt.text;
	loadVariables("schreiben.php?"+new Date().getTime(), this, "POST");
	status_txt.text = "Schreibe Daten!";
	this.onData = function() {		
		if (eintrag) {
			this.gotoAndStop(1); //wird für die Bestätigung benötigt
			delete eintrag;
			replay=1; //Stausvariable wird gesetzt
		} else {			
			status_txt.text = "Fehler !";
			delete eintrag;
		}
		
	};
};
}
funktioniert so auch aber leider erst nach erneutem klicken auf den setSpieler button !!! ist ja auch eigentlich klar, aber wie mach ich es anders. Hab jetzt gerade Stundenlang rumprobiert aber mach immer irgendwas falsch. Wo muss die Abfrage hin ?


Auf Frame 2 hab ich dann noch diesen Code gesetzt, dass der Replay Button wieder zum Anfang vom Spiel springt und die Highscore entlädt. Das funktioniert auch !
Code:
replay_btn.onRelease = function() {
	_level0.gotoAndPlay(2);  //spielt frame 2 im Hauptfilm
	unloadMovieNum(20);     //entläd die highscore
}
Hilfe bitte mein Prozessor ist überlastet !
andydrummer ist offline   Mit Zitat antworten
Alt 14-12-2005, 21:38   #4 (permalink)
Neuer User
 
Benutzerbild von andydrummer
 
Registriert seit: Nov 2005
Ort: Heidelberg
Beiträge: 43
Hab es selber geschafft !

Ja ja man muss einfach nur richtig wollen und nicht aufgeben dann klappt das schon! Hier nochmal der code wie es funktioniert für alle die sowas suchen!

Code:
punkte_txt.text=highscore;
//

mein_xml = new XML();
mein_xml.ignoreWhite = true;
status_txt.text = "Lade Einträge!";
mein_xml.load("ausgabe.php?"+new Date().getTime());
mein_xml.onLoad = function(signal) {
	if (signal) {
   	status_txt.text = "";
		setListe();
	}
};

function setListe() {
	prev_mc._visible = 0;
	high_mc._visible = 1;
	prev_mc.ladeDaten();
	high_mc.ladeDaten();	
}



schreiben_btn.onRelease = function() {
	prev_mc._visible = 0;
	high_mc._visible = 1;
	gotoAndStop(3); //check ich nicht
	vorname_txt.restrict = "A-Za-zöäüÖÄÜß";
	nachname_txt.restrict = "A-Za-zöäüÖÄÜß";
	punkte_txt.restrict = "0-9";
}


if (replay==1) {	gotoAndStop(2); //springt zu frame 2 mit dem replay button wenn die Statusvariable replay gesetzt wurde !!!!
	 }		
	 
function setSpieler() {	 
	fvorname = vorname_txt.text;
	fnachname = nachname_txt.text;
	fpunkte = punkte_txt.text;
	loadVariables("schreiben.php?"+new Date().getTime(), this, "POST");
	status_txt.text = "Schreibe Daten!";
	this.onData = function() {		
		if (eintrag) {
			this.gotoAndStop(1); //wird für die Bestätigung benötigt
			delete eintrag;
			replay=1;
		} else {			
			status_txt.text = "Fehler !";
			delete eintrag;
		}
		
	};
}


// Preview Clip
prev_mc._visible = 0;

prev_btn.onRelease = function() {	
	prev_mc._visible = !prev_mc._visible;
	high_mc._visible = !high_mc._visible;
}




stop();
andydrummer 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 12:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele