J'ai créer un programme contenant 2 boutons, +rouge, moins rouge et un carré changant de couleur selon la valeur de la variable rouge. Si j'appuye sur les flèches haut et bas, cela augmente/diminuer le rouge de mon carré. Maintenant j'ai essayé de faire la même chose avec mes boutons. Mais la rien ne change :S. J'ai testé si le clique sur les boutons était reconnu, en rajoutant un
"continuer=0; si clique sur bouton +rouge" de même pour le - rouge, et cela fonctionne... Par contre le rouge+=2 et rouge -=2 pour modifier la valeur du rouge de mon carré ne bouge pas. Quelqe'un peut il m'aider?
while(continuer) {
SDL_WaitEvent(&event); /* On attend un évènement qu'on récupère dans event */ switch(event.type)/* On teste le type d'évènement */ { case SDL_QUIT: /* Si c'est un évènement QUITTER */
continuer = 0; /* On met le booléen à 0, donc la boucle va s'arrêter */ break;
case SDL_MOUSEBUTTONUP:
if(event.button.button == SDL_BUTTON_LEFT)// si clique souris gauche { //si le clique ce trouve dans la surface du bouton +rouge if( event.button.x >10 && event.button.x < 60 && event.button.y > 20 && event.button.y < 45) { if(rouge < 255)//rouge + {
rouge+=2;
} } //si le clique ce trouve dans la surface du bouton -rouge if( event.button.x >70 && event.button.x < 110 && event.button.y > 20 && event.button.y < 45) { if(rouge > 1)//rouge - {
rouge-=2; } }
}
break; case SDL_KEYDOWN: switch(event.key.keysym.sym) { case SDLK_ESCAPE:// on arrête le programme
continuer = 0; break; case SDLK_BACKSPACE: // mettre le rouge à zéro
rouge=255;
break;
case SDLK_UP: //rouge + if(rouge > 1) {
rouge-=2;
} break;
case SDLK_DOWN: // rouge - if(rouge < 255) {
rouge+=2;
}
break;
} // maj de notre carré changant de couleur
SDL_FillRect(carrer, NULL, SDL_MapRGB(ecran->format, rouge, vert, bleu));
SDL_BlitSurface(carrer, NULL, ecran, &position);
SDL_Flip(ecran); // maj de notre carré changant de couleur
} }
SDL_FreeSurface(carrer); // libération des surfaces
SDL_FreeSurface(rougeplus);
SDL_FreeSurface(rougemoins);
SDL_Quit();
return EXIT_SUCCESS; }
SDL problème souris
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.