Advertisement
Guest User

Untitled

a guest
Mar 27th, 2014
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. void Particles::init(float rate,float lifeTime)
  2. {
  3.     m_texture.loadFromFile("Media/Textures/Particle.png");
  4.  
  5.     m_emitter.setEmissionRate(rate);
  6.     m_emitter.setParticleLifetime(lifeTime);
  7.  
  8.     m_system.setTexture(m_texture);
  9.     m_system.addEmitter(m_emitter);
  10.    
  11.     thor::ColorGradient gradient;
  12.     gradient[0.f] = sf::Color(0,150,0);
  13.     gradient[0.5f] = sf::Color(0,150,100);
  14.     gradient[1.f] = sf::Color(0,0,150);
  15.  
  16.     thor::ColorAnimation colorizer(gradient);
  17.     thor::FadeAnimation fader(0.1f,0.1f);
  18.  
  19.     m_system.addAffector( thor::AnimationAffector(colorizer ));
  20.     m_system.addAffector( thor::AnimationAffector(fader) );
  21.     m_system.addAffector( thor::TorqueAffector(100.f) );
  22.     m_system.addAffector( thor::ForceAffector(sf::Vector2f(0.f, 100.f))  );
  23.  
  24.     m_velocity = thor::PolarVector2f(200.f, -90.f);
  25.  
  26.     m_paused = false;
  27. }
  28.  
  29. void Particles::loop(sf::RenderWindow& window,sf::Time& frameTime)
  30. {
  31.     if (!m_paused)
  32.         m_system.update(frameTime);
  33.  
  34.     m_emitter.setParticlePosition( window.mapPixelToCoords(sf::Mouse::getPosition(window)) );
  35.     m_emitter.setParticleVelocity( thor::Distributions::deflect(m_velocity, 15.f));
  36.  
  37.  
  38.     draw(window);
  39. }
  40.  
  41. void Particles::draw(sf::RenderWindow& window)
  42. {
  43.     (window).draw(m_system);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement