Timer per seconde

Status
Niet open voor verdere reacties.

diamondo

Gebruiker
Lid geworden
8 sep 2006
Berichten
129
Hallo,

ik wil weten hoe ik een timer kan maken die elke seconde bij "time_m m_gameTime;" doet, zodat ik een 'uptime' script kan maken.

hoe kan ik dit doen?
 
Bedankt voor de links! maar het moet meer in een stuk script met een while gaan staan, zoiests als dit:

int main(){
//ervoor of erna, maakt niet uit (denk ik)
while(1){
//hier worden dingen gedaan
}
}

of iets zoals threads?
 
Ik weet niet precies wat je met een uptime script bedoeld..

Code:
vraag frequentie

doe voor eeuwig:
    vraag aantal ticks (starttick)
    doe wat je wilt
    vraag aantal ticks (eindtick)
    tijd die voorbij gegaan is is (starttick - eindtick) / frequentie

De tijd die voorbij gegaan is kun je dan meegeven in een functie om te gebruiken bij updates van objecten in je spel.

Code:
void MoveSpaceship( double deltaTime )
{
    if ( keyPressed( KEY_LEFT ) ) spaceship.x -= spaceship.speed * deltaTime;
}

De speed member van spaceship is dan het aantal pixels dat je per seconde wilt verplaatsen.


Maar.. ik weet dus niet of zoiets is wat je bedoelt..
 
omdat ik dus 2 dingen tegelijk wil doen, kom ik uit op multithreaden

je hebt ZThread, een class van iemand om een programma te multithreaden
 
ok, we gaan het beter stellen:

Ik heb dus zon leuk programmatje/servertje,
ik moet 1. de server runnen en kijken voor packets enzo
en 2. pingen naar de MySQL database tegen disconnecten
en 3. (niet nodig, maar wel handig) een uptime script maken (stuk script staat in ander topic)

als ik nu 3 threads voor elke zaak (pingen, packets zenden ontvangen, etc..) maak, dan kan ik meer te gelijk, want als je dit zou doen:

bool CloseEvent = false;
while(!CloseEvent){
// hier commands in venster
}
while(!CloseEvent){
// hier pingen
}

dan zou dat niet lukken, want nadat de eerste while is gedaan, gaat ie gewoon naar de 2e, maar de eerste 'gaat nooit over', dus dan heeft de 2e geen kans.

met Threads kan je dus die whiles apart van elkaar maken, zodat ze ieder runnen, en niet 1 van beide.

mvg Diamondo
 
Ow ok ^^, ik zou gewoon zo doen:
Code:
while ( !CloseEvent ) 
{
    // hier commands in venster
    // hier pingen
}

Maar misschien zijn er dingen die dat niet mogelijk maken waar ik niet van weet ^^. Succes in in ieder geval.
 
Ow ok ^^, ik zou gewoon zo doen:
Code:
while ( !CloseEvent ) 
{
    // hier commands in venster
    // hier pingen
}

Maar misschien zijn er dingen die dat niet mogelijk maken waar ik niet van weet ^^. Succes in in ieder geval.

tja, waarom moeilijk doen als 't ook makkenlijk kan :shocked: :p, we proberen het gewoon zo dan maar :p
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan