vinTagesworld Flash forum
door Stefan op 12-03-07 om 10:59
Hey flashers,
Ik heb een vraagje:
Ik wil bij de online bezoekers een tellertje zetten dat aangeeft hoelang de bezoeker op een pagina is.
Dit heb ik met PHP gemaakt, maar dan staat hij uiteraard stil.
Met JS heb ik een scriptje gemaakt dat het getal elke seconden verhoogd, maar dat is maar een keer per pagina te gebruiken.
Dan blijft er nog over: flash.
Ik wil dus een swf op te roepen als teller.swf?getal=31.
Hierbij is 31 het getal waarbij elke seconden 1 bij op wordt geteld (dit getal wordt door PHP meegegeven).
Maar hoe kan ik een swf maken dat dit getal weergeeft en elke seconden er eentje bij doet?
Groeten,
Stefan
Beste Stefan,
Dit is een stukje uit Tetris uit de Flashcase.
Met onderstaande code wordt om de 1000 milliseconden (1seconde)een functie opgeroepen. Waarbij je kunt doen wat je wil oa een variable "seconden" met 1 doen toenemen. Zie ook Bogen en cirkels tekenen.
actionscript code
var seconden=0
interval = setInterval(this, "uwseconden", 1000);
function uwseconden() {
seconden ++;
trace(seconden)
}

laatst ge-edit op: 12-03-07 om 14:46
door Stefan op 12-03-07 om 17:35
Oke, bedankt.
Ik zal het eens uitproberen.
Edit:
Ja, hij werkt wel.
Maar ik krijg het niet werkend dat ik het begingetal kan bepalen met de URL.
Als ik het probeer dan blijft hij op dat getal hangen.
laatst ge-edit op: 12-03-07 om 18:11
door W0utah op 12-03-07 om 20:55
dan pak je gewoon
actionscript codevar seconden:Number = getal
Ik heb me vermaakt met het bouwen van een scriptje voor je, zo hoef je geen externe variabelen op te halen

Hier heb je een
voorbeeld, en een fla heb je niet echt nodig, want ik heb alles ook nog als trace in mijn onderstaande script staan:
actionscript code//dutum en tijdstip ophalen bij een nieuw bezoek/page refresh
tijdStip = new Date();
nieuweStart = tijdStip.getTime();
vandaag = tijdStip.getDate();
//voor het tekstveld
info.html = true;
//flash cookie fikken waar vanalles inkomt
startBezoek = SharedObject.getLocal("bezoek", "/");
//Er bestaat een verlopen cookie, of de bezoeker is nog nooit geweest
if (startBezoek.data.sDat == undefined || startBezoek.data.sDat != vandaag) {
//meuk in het cookie raggen
startBezoek.data.sDat = tijdStip.getDate();
startBezoek.data.tijd = nieuweStart;
startBezoek.data.secondeActief = 0;
startBezoek.flush();
} else {
//pagina refreshte
startBezoek.data.pageRefresh = nieuweStart;
startBezoek.flush();
}
function maak_lees_Tijd() {
//eerste bezoek realtime terug rekenen
vergelijk = new Date();
verschil = vergelijk.getTime()-startBezoek.data.tijd;
uur = Math.floor(verschil/1000/60/60)%24;
minuut = Math.floor(verschil/1000/60)%60;
minuut == 1 ? min=minuut+" minuut" : min=minuut+" minuten";
sec = Math.floor(verschil/1000)%60;
totaalTijd = uur+" uur, "+min+" en "+sec+" seconden";
trace("je eerste bezoek is "+totaalTijd+" geleden.");
tekstVar1 = "je eerste bezoek is "+totaalTijd+" geleden.";
//tijd dat er echt een pagina met deze swf openstond terug rekenen
startBezoek.data.secondeActief += 1;
startBezoek.flush()
aSec = Math.floor(startBezoek.data.secondeActief)%60
aMin = Math.floor(startBezoek.data.secondeActief/60)%60
aUur = Math.floor(startBezoek.data.secondeActief/60/60)%24
echtActief = aUur+" uur "+aMin+" minuten "+aSec
trace("Deze swf stond "+echtActief+" seconden echt te draaien in een pagina.");
tekstVar2 = "Deze swf stond "+echtActief+" seconden echt te draaien in een pagina.";
//aantal seconden dat je naar DEZE pagina kijkt
trace("je hangt al "+Math.floor(getTimer()/1000)+" seconden op DEZE pagina");
tekstVar3 = "je hangt al "+Math.floor(getTimer()/1000)+" seconden op DEZE pagina"
//scheidingslijntje
trace("_________________________________________________________________");
info.htmlText = tekstVar1+"<br>"+tekstVar2+"<br>"+tekstVar3;
}
//per "seconde" de functie aanroepen
tonen = setInterval(maak_lees_Tijd, 1000);
have phun with it
sidenote, setInterval is niet echt 100% precies, dat is ook de reden dat er soms kleine glitches ontstaan in de secondes, maar dit word even later gewoon weer gecorigeerd
laatst ge-edit op: 12-03-07 om 21:30
Dit topic is gesloten.