问题:我有一个要在每个循环中渲染的对象列表,但我想按照它们的可变 y 位置的顺序渲染它们。
这是我的清单声明...
std::list<Object *> objects;
std::list<Object *>::iterator iter;
std::list<Object *>::iterator iter2;
这是我到目前为止...
for(iter = objects.begin(); iter != objects.end(); ++iter) //goes through my objs
if((*iter)->GetID() == PLAYER || (*iter)->GetID() == ENEMY) //only part of the list
for(iter2 = iter; iter2 != objects.end(); ++iter2) //goes through the same objs
if((*iter2)->GetID() == PLAYER || (*iter2)->GetID() == ENEMY) //same as line 2
if((*iter)->GetY() > (*iter2)->GetY())
我想按 y 值的降序渲染对象。我想我真正的问题是如何对这个列表进行排序。