Alors je précise tout de suite, je n'ai pas de probleme, et je ne critique aucun fonctionnements ^^.
J'aimerai juste savoir plus en détails comment fonctionnent les evenements(sf::Events).
prenons cet exemple:
sf::Event evenements;
while(fenetre.pollEvent(evenements))
{
switch (evenements.type)
{
case sf::Event::Closed:
fenetre.close();
break;
case sf::Event::KeyPressed:
if (evenements.key.code == sf::Keyboard::Escape)
fenetre.close();
else if(evenements.key.code == sf::Keyboard::P)
horloge.on_off();
break;
default:
break;
}
}
je suis encore novice en programmation, et ma premiere idée serai de dire que les evenements sont tester a chaque boucle, mais cela signifie -t-il que le programme vérifie l'état de chaque touches etc? ou bien plutot que des qu'une touche est presser, cela est "enregistrer" quelque part et que la boucle d'evenements n'aura qu'a effectuer les actions rattacher aux evenements actifs, sans avoir a vérifier l'etat de chaque evenements possible?
par exemple dans mon code (ci-dessus), est-ce qu'a chaque boucle, l'etat de la touche echap est vérifier, ou bien cela se passe -t-il autrement?
dans le premier cas, dans un programme plus complexe, ou il y aurai une multitude d'evenements gerer, cela ne risque pas d'etre plutot lourd?
deuxiemement, est-il possible d'encapsuler la boucle d'evenements dans une classe avec une fnction "update" ou autre, comme si ce n'etait au fond qu'une simple boucle de switch ou bien est-ce plus complexe?
navré si je m'exprime mal, et navré de faire perdre mon temps avec des questions sans doute tres simples, mais sa ne coute rien de demander ^^.