関連するコードは次のとおりです。
各Nurseオブジェクトの割り当てと全体を個別にテストしましたが、データは正しく保存されていますが、何らかの理由で表示するタイルを決定するためにアクセスできません。また、イテレータなしでデータにアクセスしようとしましたが、それも機能しませんでした。どんなアイデアでも完全に感謝されます、私はこれを何時間も理解しようとしてきました:/
for(unsigned int j = 42; j < EntityManager::getInstance()->nurses.size() * 42 + 42; j += 42) //increment y axis
{
int rosterCounter = 0;
int count = 0;
vector<string> roster = EntityManager::getInstance()->nurses[count]->getRosterData();
vector<string>::const_iterator iter;
iter = roster.begin();
for(unsigned int i = GraphicsCore::getInstance()->screenWidth; rosterCounter <= EntityManager::getInstance()->getSize() && iter != roster.end(); i -= 64) //iterate through each column, RTL
{
TextBox * text;
if(*iter == "D")
{
text = new TextBox("resources/tiles/textboxshortd.png", i, j, (TextBox::type) 4);
}
else if(*iter == "N")
{
text = new TextBox("resources/tiles/textboxshortn.png", i, j, (TextBox::type) 4);
}
else if(*iter == "O")
{
text = new TextBox("resources/tiles/textboxshorto.png", i, j, (TextBox::type) 4);
}
else
{
text = new TextBox("resources/tiles/textboxshort.png", i, j, (TextBox::type) 4);
}
iter++;
rosterCounter++;
}
count++;
}
編集:実行されましたが、最初の反復は何も行わないようです。何らかの理由で最初の列にタイルがまったく配置されておらず、完全に1オフセットされているようです。begin()-1を試しましたが、機能しませんでした。また。助けてくれてありがとう:)