sf::Text::getLocalBounds()
hat Werte ungleich Null für top
und left
Felder, sodass Sie sie beim Zentrieren des Ursprungs nicht ignorieren können.
Versuchen Sie stattdessen Folgendes:
//center text
sf::FloatRect textRect = text.getLocalBounds();
text.setOrigin(textRect.left + textRect.width/2.0f,
textRect.top + textRect.height/2.0f);
text.setPosition(sf::Vector2f(SCRWIDTH/2.0f,SCRHEIGHT/2.0f));
Ich denke, das ist ein bekanntes Problem mit der Textwiedergabe von SFML. Gehen Sie zum Issue Tracker und sehen Sie sich dieses Problem an.
Sie können auch in ihrem Entwicklungsforum nachfragen. Die Entwickler sind immer sehr freundlich und hilfsbereit.