lunes, 9 de julio de 2012

Sistema de partículas




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