Bonjour à tous, je code depuis novembre en C++ et j'ai décidé d'utiliser SFML pour m'aider dans un projet scolaire. Pour faire simple, le but du code est de colorier avec la souris lorsque la touche Space est appuyée. Après un premier test concluant où pour dessiner il fallait dessiner appuyer sur le clic droit de la souris, j'ai simplement changer cet événement avec un KeyPressed comme dans le code ci dessous :
#include <SFML/Graphics.hpp>
#include <iostream>
#include "interface.h"
#include "toucher.h"
#include <vector>
#define R 5
using namespace std;
using namespace sf;
int main()
{
int ligneX=400, ligneY=50, taille=0, x, y , Dessin = false;
vector<point> tab_point;
RenderWindow window(VideoMode(480,320), "SFML works!",Style::Fullscreen);
window.clear();
Grand_cercle(window);
Position_ligne(ligneX, ligneY,window);
point p1;
while (window.isOpen())
{
Event event;
while (window.pollEvent(event))
{
if (event.type == Event::Closed)
{window.close();}
if (event.type == Event::KeyPressed)
{
if (event.key.code == Keyboard::Space)
{
Dessin = true;
}
}
if (event.type == Event::KeyReleased)
{
if (event.key.code == Keyboard::Space)
Dessin = false ;
}
if (event.type == Event::KeyPressed)
{
if (event.key.code == Keyboard::Q)
{
window.close();
}
}
}
if (Dessin)
{
Position_Curseur(&x, &y, window);
p1.x = x;
p1.y = y;
tab_point.push_back(p1);
taille ++;
}
window.clear();
Grand_cercle(window);
Position_ligne(ligneX, ligneY,window);
Dessine_point(x,y, window, R);
Dessine_plus_points(tab_point, taille, window, R);
window.display();
}
Le problème maintenant est que lorsqu'on reste appuyer sur Space, la souris ne bouge plus dans la fenêtre, elle est bloquée.
J'ai essayé plusieurs autres options telle que l'utilisation de isKeyPressed mais rien ne remédie au problème.
Merci pour vos réponses