• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SFML problem z obiektem sf::Text

42 Warsaw Coding Academy
0 głosów
615 wizyt
pytanie zadane 29 marca 2017 w C i C++ przez sofnir Gaduła (4,690 p.)

Hej, moim zadaniem było stworzenie tekstu, a następnie obiektu sf::Shape, który będzie tłem dla tego tekstu. Napisałem cos takiego.

text.setString("NONE");
text.setFont(game->font);
text.setCharacterSize(30);
text.setFillColor(sf::Color::Red);
text.setOrigin(text.getLocalBounds().width / 2, text.getLocalBounds().height / 2);
text.setPosition(200, 200);
shape.setSize(sf::Vector2f(text.getLocalBounds().width, text.getLocalBounds().height));
shape.setOrigin(shape.getSize().x / 2, shape.getSize().y / 2);
shape.setPosition(text.getPosition().x, text.getPosition().y);
shape.setFillColor(sf::Color::Black);

W wyniku tego otrzymuję to:

Bez sensu... Jeśli zrobię coś takiego np. ze spritem to działa, tlyko z tekstem nie działa. Wie ktoś jak to naprawić?

komentarz 29 marca 2017 przez 10kw10 Pasjonat (22,880 p.)
edycja 29 marca 2017 przez 10kw10
Cos jest chyba nie tak z originami, nie wyglada jakby byly takie same.

Sprobuj moze setOrigin(text.getOrigin.x ...);
komentarz 30 marca 2017 przez MetGang Nałogowiec (34,360 p.)
Boundsy tekstu zależą od czcionki, które są dość dziwne i raczej nie ma sprawdzonego sposobu, aby zrobić to jak chcesz. Najlepszym podejściem będzie bawienie się metodą prób i błędów (np przemnożenie y przez 2).
komentarz 30 marca 2017 przez sofnir Gaduła (4,690 p.)
To w jaki sposób ludzie robią klasę button, gdzie tekst zawsze jest na środku?
komentarz 30 marca 2017 przez MetGang Nałogowiec (34,360 p.)
Najlepiej spytaj się tych ludzi, lecz wątpię by ktoś robiąc widgety/gui posługiwał się SFMLem i jego obiektami.

Zazwyczaj ludzie robią własne rzeczy na bazie np. OpenGL (SFGUI, ImGui) lub innej biblioteki, a potem robią interfejs za pomocą SFMLa.
komentarz 30 marca 2017 przez sofnir Gaduła (4,690 p.)
No tak, ale te GUI są robione na podstawie pewnie OpenGL, no cóż zrobię to metodą prób i błędów, dodam piksele tak żeby mi to pasowało.
komentarz 30 marca 2017 przez MetGang Nałogowiec (34,360 p.)
No mówię, ja to robiłem na zasadzie dublowania wysokości i wyniki były dość zadowalające.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 318 wizyt
pytanie zadane 7 września 2016 w C i C++ przez Gracjan Pasik Obywatel (1,810 p.)
0 głosów
0 odpowiedzi 678 wizyt
pytanie zadane 14 stycznia 2017 w C i C++ przez Pajdas Mądrala (5,930 p.)
0 głosów
1 odpowiedź 101 wizyt
pytanie zadane 12 czerwca 2020 w C i C++ przez matinio Nowicjusz (140 p.)

93,377 zapytań

142,379 odpowiedzi

322,528 komentarzy

62,727 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...