Reproduire le déplacement d'une scrollbar
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:
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.