PDA

Volledige versie bekijken : Een soort van sleep()


chrismaster123
%Europe/Berlin %825 %2008, 19:48
Veel andere programeertalen hebben een soort van sleep() functie, waardoor het programma even de tijd heeft data te evrwerken alvorens verder in de code te gaan. Is er zoiets in Flash te maken? Want dit is mijn probleem:

Ik heb een login systeem gemaakt dat naam enw achtwoord vanuit een invoerveld naar een PHP stuurt. Indien de PHP een 'success' terugstuurd zou de movie moeten doorspelen:

var loginListener:Object = new Object();
loginListener.click = function(evt:Object) {
username = txt_username.text;
password = txt_password.text;
res = res_list.selectedIndex + 1;
remember = remember.selected
login = "true";
loadVariables("login.php" , _root, "POST");

if(alert == "success"){
gotoAndPlay("Index", "begin");

}

};
login.addEventListener("click", loginListener);

Het probleem is dat Flash de variabele alert al vergelijkt voordat de data van de PHP goed en wel is ingeladen. Als ik dus een soort van korte pauze zou kunnen inlasten tussen
loadVariables("login.php" , _root, "POST");
en
if(alert == "success"){
zou dat geweldig zijn. Nu is de enige mogelijkheid voor de gebruiker om dubbel te klikken op de knop, omdat de tweede maal de variabele 'alert' al success is.

chrismaster123
%Europe/Berlin %878 %2008, 21:04
NVM, ik gebruik nu setTimeout, een funcite die neit in de handleiding staat maar wel prettig werkt.,..een soort van eenmalige setInterval.

Jan
%Europe/Berlin %889 %2008, 21:21
NVM, ik gebruik nu setTimeout, een funcite die neit in de handleiding staat maar wel prettig werkt.,..een soort van eenmalige setInterval.
Hoe kan je nu op voorhand weten hoe lang het gaat duren eer (al) de data geladen/terug is? En wat als iemand (even) een heel trage verbinding heeft?

Je gebruikt beter de loadVars class. Deze heeft een event dat getriggerd wordt wanneer alle data terug is van php. Dat event kan je afhandelen met een eventhandler en daar kan je dan je login voorwaarden/ if statement(s) zetten en beslissen wat er vervolgens moet gebeuren.
sendAndLoad() ipv loadvariables() dus...
Even in de help duiken, staan genoeg voorbeelden bij.

Groeten,
Jan