SFML community forums
Help => Graphics => Topic started by: led on January 06, 2010, 01:29:03 am
-
This is more like a C++ problem then SFML, but like i readed in a post that i need to get the Full String before seting it into SetText()...
I marked the line with a arrow.
#include <SFML/Graphics.hpp>
#include <iostream>
#include <string>
using namespace sf;
int main()
{
RenderWindow Window(VideoMode(800, 600), "testing");
//Variaveis
Image Imagem1;
Image Imagem2;
Sprite Sprite;
Font font;
String Text;
std::string texto;
//Condições
if(!Window.IsOpened())
return 1;
if(!Imagem1.LoadFromFile("img\\Hud\\hud.png"))
return 1;
if(!Imagem2.LoadFromFile("img\\Teste\\1.png"))
return 1;
if(!font.LoadFromFile("arial.ttf"))
return 1;
//Atribuições
Text.SetFont(font);
Text.SetSize(50);
Text.SetColor(Color::White);
Text.SetPosition(0,200);
Sprite.SetImage(Imagem1);
//Main loop
while (Window.IsOpened())
{
Event evento;
----->texto = evento.MouseMove.X + "," + evento.MouseMove.Y;
while (Window.GetEvent(evento))
{
if (evento.Type== Event::Closed)
return 0;
if ((evento.Type== Event::MouseButtonPressed ) && (evento.MouseButton.Button == Mouse::Left))
Text.SetText(texto);
}
Window.Clear();
Window.Draw(Sprite);
Window.Draw(Text);
Window.Display();
}
}
Heres the crash: http://i.imagehost.org/0589/sfml1.jpg
-
You can't concatenate directly integers and literal strings to build your std::string. Take a look at std::ostringstream for string formatting.
#include <sstream>
...
std::ostringstream oss;
oss << evento.MouseMove.X << "," << evento.MouseMove.Y;
texto = oss.str();
-
Thanks Laurent, it works now! :)