Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Particles::init(float rate,float lifeTime)
- {
- m_texture.loadFromFile("Media/Textures/Particle.png");
- m_emitter.setEmissionRate(rate);
- m_emitter.setParticleLifetime(lifeTime);
- m_system.setTexture(m_texture);
- m_system.addEmitter(m_emitter);
- thor::ColorGradient gradient;
- gradient[0.f] = sf::Color(0,150,0);
- gradient[0.5f] = sf::Color(0,150,100);
- gradient[1.f] = sf::Color(0,0,150);
- thor::ColorAnimation colorizer(gradient);
- thor::FadeAnimation fader(0.1f,0.1f);
- m_system.addAffector( thor::AnimationAffector(colorizer ));
- m_system.addAffector( thor::AnimationAffector(fader) );
- m_system.addAffector( thor::TorqueAffector(100.f) );
- m_system.addAffector( thor::ForceAffector(sf::Vector2f(0.f, 100.f)) );
- m_velocity = thor::PolarVector2f(200.f, -90.f);
- m_paused = false;
- }
- void Particles::loop(sf::RenderWindow& window,sf::Time& frameTime)
- {
- if (!m_paused)
- m_system.update(frameTime);
- m_emitter.setParticlePosition( window.mapPixelToCoords(sf::Mouse::getPosition(window)) );
- m_emitter.setParticleVelocity( thor::Distributions::deflect(m_velocity, 15.f));
- draw(window);
- }
- void Particles::draw(sf::RenderWindow& window)
- {
- (window).draw(m_system);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement