void SistemadeParticula :: addParticula{
Particula p; // Particula es el objeto; p es la instancia del objeto
p.pos.x = ofGetMouseX(); // x del origen de la instancia en el x del mouse
p.pos.y = ofGetMouseY(); // y del origen de la instancia en el y del mouse
p.vel.y = ofRandom(-0.2, -2.0); // velocidad en x
p.vel.x = ofRandom(-2.0, 2.0); // velocidad en y
p.radio = ofRandom(1.0, 15.0); // radio entre 1 y 15
p.vida = 100.0; // valor alfa de la partícula, se hace más transparente
p.col.setHsb(ofRandom(0, 255), 255, 255, 100); // color pleno hue, saturación, brillo, alfa
}
Las ecuaciones de física son como los ejemplos anteriores pero sin los rebotes en y ni en x.
Solo hay que agregar que vaya disminuyendo el valor alfa:
vida -= 1;
Particula :: draw {
ofFill(); // con relleno
ofSetColor(col, vida); // el color combinado Hsb, vida
ofCircle(pos.x ,pos.y, radio); // el dibujo de la instancia en la pantalla
}
No hay comentarios:
Publicar un comentario