|
|
问题部分: 我已经在createscene()中定义了30个机器人,并将他们都设为不可见,并且压入双端队列mEntityList中,现在我想每隔一秒中让一个机器人可见并且让他简单的运动,我设置了时间判定并且每隔一秒取一个实体压入mEntityList1中,让他负责显示实体和运动实体,但是编译后只有一个机器人出现,其他29个没了,我认为迭代器用的不是地方或者场景管理方面,我这是默认的场景SceneMgr, 请能人指点一下。
bool frameStarted(const FrameEvent &evt)
{
if(mEntityList.empty())
{
return false;
}
else
{
if(mTime -= evt.timeSinceLastFrame <= 0.0f)
{
Entity *ent = mEntityList.front();
mEntityList1.push_back(ent);
mEntityList.pop_front();
mTime = 1.0f;
}
else
{
std::deque<Entity*>::iterator i, iend;
iend = mEntityList1.end();
for(i = mEntityList1.begin();i != iend;++i)
{
(*i)->setVisible(true);
(*i)->getParentNode()->translate(Vector3(10,0,10)*evt.timeSinceLastFrame);
}
}
}
} |
|