Voila j'ai besoin de la fonction SDL_GetTicks et je ne gère pas encore l'affichage d'image dans mon projet.
Le problème c'est que l'utilisation de la SDL supprime l'affichage de la console windows (j'utilise des cout pour voir l'evolution de mon programme).
Ma question est : suis-je obligé d'initialisé une fenetre et d'utilisé SDL_ttf pour afficher mes pov' malheureux chiffres ?
En plus lorsque je compile mon projet et que je l'execute le programme se ferme directement sans rien affiché (en méme temps je n'ai pas initialisé de fenetre mais je n'en veux pas).
Voici un bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int main(int argc, char *argv[]) { SDL_Init( SDL_INIT_EVERYTHING ); Track* t = new Track("T", 10, 0.3, 0.7, 1, 100, 100); Car* c = new Car("C", 100, 100, 100); Race* r = new Race(t, c); r->runRace(); system("PAUSE"); SDL_Quit(); return EXIT_SUCCESS; }Je dev sous Dev-C++, je n'ai aucune erreur ni warning à la compil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 void Race::runRace() { unsigned int checkTime = SDL_GetTicks(); const unsigned int fps = 100; unsigned short sector = 1; Counter* count = new Counter(); cout << "Run race ..." << endl; while(this->laps < t->getLaps()) { if(SDL_GetTicks() > (checkTime + 1000 / fps) ) { //SectorTime management if(sector == 1 && c->getPosition() >= t->getLenghtSector1()) { sector = 2; cout << "sector 1 : " << count->getTime() << endl; } else if(sector == 2 && c->getPosition() >= t->getLenghtSector2()) { sector = 3; cout << "sector 2 : " << count->getTime() << endl; } else if(sector == 3 && c->getPosition() >= t->getLenghtSector3()) { sector = 1; cout << "sector 3 : " << count->getTime() << endl; } //Laps management if(c->getPosition() >= t->getLenghtSector3()) { this->laps++; c->setPosition(c->getPosition() - t->getLenghtSector3()); cout << "Laps : " << this->laps << endl; } //Speed management c->setSpeed(100); //Position management c->setPosition(c->getSpeed()/3600000.0); //Counter management count->addThousandths(); //Wear management /* On remet à jour le temps à contrôler */ checkTime = SDL_GetTicks(); } } }
Merci de votre aide !
Partager