我使用Fireworks初始函数将粒子存储到粒子矢量类中。 当我尝试在update()函数中检索粒子向量的计数时,粒子向量为空。为什么?如何在类中使用矢量
Fireworks.cpp类:
void Fireworks::init(){
float x = randf();
float y = - 1 * randf(); //Going UP
float z = randf();
Particle part(position,Vector3f(x,y,z), color, randInt(1,50));
particles.push_back(part);
}
bool Fireworks::update(){
Particle particle;
int count = particles.size(); //Total num of particles in system
cout << particles.size() << " ";
}
class Fireworks: public ParticleSystem {
private:
void init();
public:
Fireworks(Vector3f pos, Vector3f col) {
position = pos;
color = col;
init();
}
virtual bool update();
};
particlesystem.h
class ParticleSystem {
protected:
vector<Particle> particles;
public:
//virtual Particle generateParticle();
virtual bool update(){return false;};
};
的main.cpp
ParticleSystem *PS;
int main(int argc, char *argv[]) {
PS = &Fireworks(Vector3f(0,0,0), Vector3f(200,0,255));
glutIdleFunc(move);
}
void move()
{
PS->update();
}
这个问题缺少一些代码。什么是类声明?你的功能如何使用? – Synxis
从您发布的代码中完全不清楚您要做什么。你可以发布一个简单的代码示例来说明问题吗? – juanchopanza
您无法在更新功能中检索它。但是在你发布的代码中,你甚至没有试图在更新函数中检索它。请解释你正在做什么,究竟是什么问题,我们无法猜测。 – john