Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Changer l'opacité de la couleur dynamiquement avec le clavier  (Lu 1799 fois)

0 Membres et 1 Invité sur ce sujet

cherault

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Bonjour à tous,

J'ai un petit projet visant à créer un jeu en réalité augmenté.
J'ai donc interfacé SFML avec OPENCV et l'ensemble fonctionne très bien (Même si le code n'est pas optimisé).

Dans ma fenetre, j'ai des formes qui ont une couleur par défaut (Rouge par exemple).
J'aimerai, avec le clavier (Touche Up and Down) faire varier l'opacité de cette couleur graduellement (0-255), liée au coef. alpha.

J'ai donc créer une petite condition, mais elle ne fonctionne pas !!!

Voici la boucle:

///--CHANGE COULEUR--///
        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
        {
            for (stepColor = 0; stepColor <= 255; stepColor+=5)
            {
                cible.setFillColor(sf::Color(255,0,0,stepColor));
            }
        }
 

la constante "stepColor" a été déclaré comme suit:

int stepColor(0);
 

Merci pour votre aide

Amitiés

Chris
Ou ais-je commis une erreur ?

Kernel panik

  • Newbie
  • *
  • Messages: 5
    • Voir le profil
    • E-mail
Re : Changer l'opacité de la couleur dynamiquement avec le clavier
« Réponse #1 le: Juin 27, 2015, 10:47:06 am »
Actuellement tu changes l'opacité de 0 à 255 dans la même frame, si tu veux que ça change dans le temps, il faut que tu l'augmentes au fil des frames avec simplement

if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
{
        if (stepColor < 255)
                stepColor += 5 ;

        cible.setFillColor(sf::Color(255,0,0,stepColor));
}

bien entendu en déclarant ton stepColor (qui deviendrait plutôt un opacity) en global et non dans la fonction de mise à jour, quelle ne soit pas réinitialisée à chaque passage ^_^

Après pour bien faire, il faudrait que tu utilises une gestion de temps pour calculer un incrément en fonction du framerate, sinon le changement d'opacité ne se fera pas toujours dans le même délais.
« Modifié: Juin 27, 2015, 10:53:48 am par Kernel panik »

cherault

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Changer l'opacité de la couleur dynamiquement avec le clavier
« Réponse #2 le: Juin 27, 2015, 10:50:02 am »
Merci beaucoup pour ton conseil avisé.
Tu n'as que raison !!!

Merci encore.

Amitiés,

Chris.