Ce que je suis en train d'accomplir:Comment faire pour basculer l'événement de clic en utilisant SDL?
- Lorsque l'utilisateur clique dans le jeu, la tuile que l'utilisateur clique sur affiche une bordure
- Si l'utilisateur clique à nouveau (partout) la frontière disparaît
Ce que j'ai jusqu'à présent:
- Lorsque l'utilisateur clique dans le jeu, la bordure apparaît autour de la tuile sélectionnée
Ce que je ne peux pas sembler comprendre (je l'ai tout essayé je peux penser)
- Comment obtenir la frontière pour aller après un autre clic
A propos de mon code :
J'ai une classe MouseInput qui vérifie si le bouton gauche de la souris a été enfoncé. J'utilise des variables booléennes pour essayer de basculer une variable qui affichera la bordure de la tuile (si on clique dessus) ou ne pas afficher la bordure (si on clique à nouveau). Le code que je possède permettra à la bordure de s'afficher mais je ne peux pas l'obtenir pour un autre clic. Je ne peux pas vraiment montrer toutes les choses que j'ai essayées (essayé ceci pendant 2 jours et ne me souviens pas de ce que j'ai fait lol). Ceci est un Sumary de mon code à ce jour:
bool toggle; // Set to false in constructor
bool justPressed; // Set to false in constructor
bool justReleased; // Set to false in constructor
void Mouse::Update() // My custom mouse class Updating function (updates position, etc)
{
input.Update(); // My MouseInput class Updating function.
if (input.Left() && !toggle) // input.Left() checks if left mouse was pressed. True if it is pressed down, and false if it's not pressed.
{
// So we have pressed the mouse
justPressed = true;
justReleased = false;
printf("UGH FML");
}
else if (!input.Left()) // So the mouse has been released (or hasn't clicked yet)
{
justPressed = false;
justReleased = true;
}
if (justPressed)
{
toggle = true;
}
}
J'ai tout essayé, je peux penser à faire basculer de nouveau à false. Et maintenant mon cerveau me fait mal. Il y a probablement une solution vraiment simple mais je ne peux pas m'en sortir. Suggestions?
Quelque chose comme 'si (événement) border = frontière;' – sp2danny