Définition | Utilisation | Exemple | Côté technique |
Dans l'exemple qui suit, on utilise la valeur du bouton pour trouver la position du cercle à dessiner PecheuxGraph.zip\PecheuxGraph\examples\Documentation\Exemple-953-getRadioValeur\Exemple-953-getRadioValeur.ino (dans votre fichier téléchargé):
// Mise em place de 3 boutons de type RadioZone (bouton radio, pas de dessin
// dans le bouton). Quand on appuie sur un bouton, un disque blanc montre son
// activité
// - Les boutons ont une définition statique
// - Utilise getRadioValeur pour faire le travail
// - Une seule action pour tous les boutons
#include <PecheuxGraph.h> // Appel de la bibliothèque
// Déclaration statique des instances, doit se faire en dehors du setup
// Dans ce cas les boutons sont accessibles partout
RadioZone boutonHaut(200, 40, 240, 80, 1); // Bouton en haut
RadioZone boutonCentre(200, 100, 240, 140, 2); // Bouton au centre
RadioZone boutonBas(200, 160, 240, 200, 3); // Bouton en bas
// Déclaration de la fonction qui redessinent les boutons
// Cette fonction ne doivent pas avoir de paramètres et ne doit rien retourner
// Le nom peut être quelconque
void action(void)
{
fillRect(80, 40, 120, 200, BLACK); // Efface tous les disques
// Pour dessiner le disque, on le place à la même ordonnée que le bouton
fillCircle(100, getRadioValeur() * 60, 20, WHITE);
}
void setup()
{
setGraphMode(PAYSAGE); // Initialisation de la carte
rect(200, 40, 240, 80, GREEN); // Carré du haut
rect(200, 100, 240, 140, GREEN); // Carré au centre de l'écran
rect(200, 160, 240, 200, GREEN); // Carré du bas
text(F("Appuyez sur un carré"));
boutonHaut.onSelectFunction = &action; // Fonction appelée si on active le bouton du haut de l'écran
boutonCentre.onSelectFunction = &action; // Fonction appelée si on active le bouton au milieu de l'écran
boutonBas.onSelectFunction = &action; // Fonction appelée si on active le bouton en bas de l'écran
}
void loop()
{
scanEvent(); // Gestion des boutons et des horloges, le plus souvent seul dans le loop
}
Voir aussi: |