[SFML 2.0] Dziwny problem z ustawieniem tekstu na ekranie
Ostatnio zmodyfikowano 2012-07-04 14:47
Virpi Temat założony przez niniejszego użytkownika |
[SFML 2.0] Dziwny problem z ustawieniem tekstu na ekranie » 2012-07-04 13:24:21 Witam. Mam dziwny problem z ustawieniem pozycji tekstu w osi y (tekst znajduje się jakieś 28 pikseli za nisko niż ustawiona wartość). W osi x jest w porządku. Np. przy takim kodzie górny lewy wierzchołek tekstu znajduje się mniej więcej w pozycji (0,28). Czy to jakieś moje wielkie niedopatrzenie? Dodam jeszcze że aplikacja działa w trybie pełnoekranowym 1366x768.
czcionka.loadFromFile( "Fonts/calibri.ttf" ); title.setFont( czcionka ); title.setCharacterSize( 80 ); title.setString( L"ArcaMoniQue" ); title.setStyle( sf::Text::Italic ); title.setPosition( 0, 0 );
window.draw( title ); window.display();
Dodam jeszcze, że jak narysuję kółko o współrzędnych pobranych z tego tekstu, to rysuje się prawidłowo, czyli o tych 28 pikseli wyżej. |
|
DejaVu |
» 2012-07-04 13:32:15 W SFML jest funkcja, która przelicza współrzędne 'rzeczywiste' do współrzędnych okna. Zapewne jej nie wywołujesz do przeliczania współrzędnych. |
|
Virpi Temat założony przez niniejszego użytkownika |
» 2012-07-04 14:47:37 Znalazłem
sf::RenderWindow::convertCoords( Vector2i )
ale zastanawia mnie to, dlaczego dzieje się tak tylko z obiektami klasy sf::Text, wszystkie inne, takie jak bitmapy, prymitywy wyświetlają się dobrze.
Zrobiłem coś takiego:
title.setPosition( sf::RenderWindow::convertCoords( sf::Vector2i( title.getPosition() ) ) );
ale to chyba jakiś bezsens, bo mam błąd:
cannot call member function 'sf::Vector2f sf::RenderTarget::convertCoords(const sf::Vector2i&) const' without object|
//edit
Znalazlem źródło błędu:
"This is because the first line is aligned vertically on the height of the tallest character -- even if it's not in your string. This is to keep the top of the string steady even if you add higher characters on the first line."
Teraz tylko będę głowił się, jak to wyeliminować ;) |
|
« 1 » |