我正在尝试在C ++中使用wxWidgets来使用DrawText为我的游戏绘制一个“游戏结束”字符串,并显示结束游戏分数,这是一个int变量。
这是我的代码:
void CFunction::Draw(wxDC &dc)
{
if (mGame != NULL && mGame->IsGameOver())
{
wxFont font(75, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false);
dc.SetFont(font);
dc.SetTextForeground(wxColour(221, 34, 34));
dc.DrawText(L"GAME OVER!", 250, 100);
}
}
现在打印“GAME OVER!”但是我希望它打印存储在mGame-> GetScore()中的变量,例如,如果在游戏结束时得分为10,它应该显示在屏幕上:
“GAME OVER!得分:10”
任何人都知道如何使用wxDraw在wxWidgets中执行此操作?
答案 0 :(得分:1)
我明白了:
if ( mGame != NULL && mGame->IsGameOver() )
{
wstringstream str;
str << L"GAME OVER! YOUR SCORE: " << mGame->GetScore() << ends;
wxFont font(45, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false);
dc.SetFont(font);
dc.SetTextForeground(wxColour(255, 102, 0));
dc.DrawText(str.str().c_str(), 300, 200);
}
你必须使用wstringstream,并使用它来显然传递你的变量。