Bonjour,
je suis actuellement en train de créer un jeu en 2D avec Qt. Ce jeu est un jeu de gestion-stratégie constitué de plusieurs petit carrée de différentes couleurs (représentant différentes ressources :bois, eau, herbe...), fait grâce a un QGraphicsScene et QGraphicsView.
En fait mon problème c'est que je n'arrive pas à savoir quand le joueur clique sur un de ses petits carrés ? J'ai vu sur d'autres forum qu'il fallait utiliser mousePressEvent(QMouseEvent *event) et hériter ma classe de QGraphicsView.
Le compilateur de Qt compile bien le programme mais quand je clique ça marche pas.
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 //ViewArea.h class ViewArea : public QGraphicsScene { Q_OBJECT public: ViewArea(); protected: virtual void mousePressEvent(QMouseEvent *event); private: QGraphicsView *m_view; QGraphicsScene *m_scene; //j'ai pas mis toutes les variables }; //ViewArea.cpp #include "ViewArea.h" ViewArea::ViewArea() { //j'ai pas mis le code parce que c'est assez long et on s'en fout un peu :p } void ViewArea::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { QMessageBox::information(this, "Clique", "Le clique a marcher"); } }
Je repète la question : comment faire pour savoir quand on clique sur les petits carrés ?
Voila Merci.
Partager