sf::Text::getLocalBounds()
tiene valores distintos de cero para el top
y left
campos, por lo que no puede ignorarlos al centrar el origen.
Prueba esto en su lugar:
//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));
Creo que este es un problema conocido con la representación de texto de SFML. Dirígete a su rastreador de problemas y echa un vistazo a este problema.
También puede preguntar en su foro de desarrollo. Los desarrolladores siempre son muy amables y serviciales.