|
|
std::list< articles> fire;
void DrawFire()
{
std::list<Particles>::iterator pointer;
for(pointer=fire.begin();pointer!=fire.end();pointer++)
{
if(pointer->dead==true)
pointer=fire.erase(pointer);
}
for(pointer=fire.begin();pointer!=fire.end();pointer++)
{
glPushMatrix();
glTranslatef(56, 6, 56);
pointer->Render();
glPopMatrix();
}
if(fire.size()>2000) return;
float x=GetRandom(-1.6f, 1.6f);
float y=2.0f;
float z=GetRandom(-1.6f, 1.6f);
Particles p(x,y,z);
fire.push_back(p);
这段绘制火的程序具体是如何实现的?
里面的fire.end()是不是等于2000啊?
我不大明白,程序里的pointer是不是想当于链表里的标记?std::list<Particles>::iterator pointer;这句代码有代表什么?下面的循环也不是很明白,
请哪位大虾指点一下,小弟先谢了...最好能详细一些...谢谢
[em16] |
|