Hallo,
ich habe das problem das ich ein spiel mit der auflösung
600x400 erstellt habe.
Im Hauptmenu frage ich dann ab ob der mauszeiger über den start button ist.
wenn er angeklickt wird startet das spiel halt. Aber wenn ich das fenster maximiere
oder generell verschiedene auslösungen anbieten würde, stimmen die koordinaten nicht mehr.
Mein gedankengang war das ich halt für jede auslösung ein alternativen code mit den richtigen koordinaten schreibe.
Das wäre jedoch ne menge mehr code und kommt mir eher als schlechte lösung vor.
Gibt es irrgendeinen besseren weg das die koordinaten bei jeder auflösung passen?
Ich hoffe ihr konntet mir folgen.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
int Menu::Open(sf::RenderWindow *Win)
{
MenuOpen = true;
while(MenuOpen)
{
if(sf::Mouse::getPosition().x > 888 && sf::Mouse::getPosition().x < 1050)
{
if(sf::Mouse::getPosition().y > 445 && sf::Mouse::getPosition().y < 475)
{
pMenuText1->setColor(sf::Color::Red);
if(sf::Mouse::isButtonPressed(sf::Mouse::Left))
return 1;
}
else
pMenuText1->setColor(sf::Color::Blue);
}
}
}
|