クラスのdrawScreen()
関数でエラーが発生しています。Game
void Game::drawScreen()
{
window->clear();
std::vector<sf::Drawable*>::iterator itr;
for(int i = 0; i <= window->getSize().y; i++)
{
for(itr=drawableStack.begin(); itr!=drawableStack.end(); drawableStack.pop_back())
{
if(**itr.getPosition().y == i)
{
window->draw(**itr);
}
}
}
window->display();
}
ドローアブル スタックが宣言されている
std::vector<sf::Drawable*> drawableStack;
エラーは
if(**itr.getPosition().y == i)
が気に入らず**itr.getPosition()
、その代わりに何を使用すればよいかわかりません。また、この関数の目的は、画面の上から下に描画することです。これにより、「遠くにある」ものが最初に描画され、前景に近いオブジェクトがそれらの上に描画されます。これが効率的な方法のように思えない場合は、何が良いか教えてください。たくさんのオブジェクトが描画されている場合、これが遅くなる可能性があることを懸念しています。