Bonsoir,

j'ai besoin de votre aide car je n'arrive pas à faire quelque chose de fonctionnel..

Je crée une GUI en SFML et je bute à reproduire le déplacement d'une scrollbar.

C'est plus un soucis de mathématique que de C++ mais je ne savait pas où poster.

J'ai fait ça mais biensûr ça ne bouge pas car l’écart est toujours le même.

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
38
39
    void ScrollBar::Update()
    {
        if(slider->IsClicked())
            draged = true;
 
        if(slider->IsClickedReleased())
            draged = false;
 
        if(draged)
        {
            unsigned int y = EngineManager::GetInstance()->Event->MousePosition().pos.y;
            int difference = y - slider->GetPositions().y;
 
            cout << y << endl;
            cout << slider->GetPositions().y << endl;
            cout << difference << endl;
            cout << y - difference << endl;
 
            //slider->SetPositionY(y - difference);
 
            if(y > (position.y + padding.top))
            {
                if(slider->GetPositions().y < position.y + padding.top)
                    slider->SetPositionY(position.y + padding.top);
            }
            else
                slider->SetPositionY(position.y + padding.top);
 
 
            if(y < (position.y + dimensions.height - padding.bottom))
            {
                if(slider->GetPositions().y  + slider->GetDimensions().height > position.y + dimensions.height - padding.bottom)
                    slider->SetPositionY(position.y + dimensions.height - slider->GetDimensions().height - padding.bottom);
            }
            else
                slider->SetPositionY(position.y + dimensions.height - slider->GetDimensions().height - padding.bottom);
        }
    }
}
Merci d'avance.