Forum de la communauté SFML
Aide => Général => Discussion démarrée par: texto15 le Janvier 07, 2020, 04:33:24 pm
-
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
-
Je pense pas que ça vienne de SFML.
Si tu fais pareil ailleurs (sur le bureau, sur n'importe quelle fenêtre) est-ce que ça bloque ? Si oui et que c'est un ordinateur portable cherche comment désactiver le PalmCheck (controle de la paume) dans windows.
-
Effectivement, en exécutant le code sur un autre ordi, le code marche bien, le blocage est du a l'ordinateur portable. Ilsuffit de brancher un autre clavier en USB pour contourner le problème. Je le renseigné pour désactiver la fonctionnalité. Merci