Seite 1 von 1
SFML Punktestand ausgeben
Verfasst: 13. März 2010 12:46
von neuer_user
Hallo,
für ein SFML-Spiel(Pong) will ich den Punktestand ausgeben.
Code: Alles auswählen
text.SetText((const char*)(char)player1.goals);
pongWnd.Draw(text);
Am Anfagn (Wenn player1.goals = 0 ist (player1.goals --> int) ) wird nichts angezeigt und wenn spieler1 ein Punkt gemacht hat, also player1.goals 1 ist stürzt das programm ganz ab.
liegt das an der konvertierung oder an sfml?
Verfasst: 13. März 2010 22:29
von Christian81
Was sollen diese komischen casts?
QString::number() Doku mal anschauen würde ich sagen...
Verfasst: 14. März 2010 12:44
von neuer_user
Jetz funktionierts, danke
Man kann in SFML keine Zahl (direkt) ausgeben (vielleicht hätten ich auch besser in einem SFML Forum gefragt

)
Ich hatte auch erst gar keine QT Header includiert.
für die die's interessiert:
Code: Alles auswählen
QString outQString;
QString pl1;
QString pl2;
QString pl1Points;
QString pl2Points;
pl1 = QString("Player1: ");
pl2 = QString("Player2: ");
pl1Points = QString("");
pl2Points = QString("");
outQString = QString("");
sf::Font font;
font.LoadFromFile("arial.ttf", 32);
sf::String text("", font);
...
outQString.clear();
pl1Points = QString::number(player1.goals);
pl1Points.append("\n");
pl2Points = QString::number(player2.goals);
outQString.append(pl1);
outQString.append(pl1Points);
outQString.append(pl2);
outQString.append(pl2Points);
text.SetText(sf::Unicode::Text(outQString.toStdString()));
pongWnd.Clear();
pongWnd.Draw(text);
pongWnd.Display();
Ich hätte da aber noch ne Frage:
Wenn ich jetzt \t für ein Tabulator-zeichen einsetze Wird das nicht angezeigt

Verfasst: 14. März 2010 14:58
von upsala
Wo wird der Tabulator nicht angezeigt?
Verfasst: 14. März 2010 15:19
von neuer_user
In dem Fenster,
Code: Alles auswählen
...
sf::RenderWindow pongWnd(...)
...
sf::Font font;
font.LoadFromFile("arial.ttf", 32);
sf::String text("", font);
QString text2;
text2.append("\t");
text2.append("Hallo!");
text.setText(sf::Unicode::Text(text2.toStdString()));
...
pongWnd.Draw(text);
wie gesagt das würde eher in einem SFML-Forum passen oder?
Verfasst: 14. März 2010 15:31
von upsala
Warum fragst du dann nicht dort nach?
Verfasst: 14. März 2010 15:54
von neuer_user
weil..äh....
1. es hat ja jetzt funtkioniert mit QString (QT-Komponente also passt das ja doch irgendwie)
2. dann muss ich mich da auch noch registrieren
Verfasst: 14. März 2010 16:05
von upsala
Achso ja dann:
sf::RenderWindow ist ein QLabel, QTextEdit, Q...?
Beantworte diese Frage und man kann dir hier sagen, warum dein Tabulator nicht angezeigt wird.
Verfasst: 14. März 2010 16:18
von neuer_user
sf::RenderWindow ist ein durch SFML angezeigtes/gerendertes Fenster
also es hat nicht wirlich was mit QT zu tun.
\n wird angezeigt nur \t halt nicht,
vielleicht wird \t bei SFML auch garnicht unterstützt
is ja auch egal.
Verfasst: 14. März 2010 16:29
von neuer_user