Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C# (http://www.go4expert.com/forums/c-sharp/)
-   -   deleting individual particles c# (http://www.go4expert.com/forums/deleting-individual-particles-c-sharp-t27336/)

clipsymaze 12Dec2011 13:23

deleting individual particles c#
 
hello everyone

iam trying to delete individual particles, i tryed pos.x & pos.y aswell as the mouse position. but everything i tried gets an error.

will really appreciate any contribution.

code for particles:


Code:

float timeStep = m_Timer.Seconds;



foreach (Particle particle in m_Particles)
{
particle.Update(timeStep);
}
m_TimeToNewParticle -= timeStep;
while (m_TimeToNewParticle <= 0f)
{
float velXbl = (float)(randomNumberGenerator.NextDouble() + 0.1);
float velYbl = (float)(randomNumberGenerator.NextDouble() + 0.1);

float velXtr = (float)(randomNumberGenerator.NextDouble() - 1);
float velYtr = (float)(randomNumberGenerator.NextDouble() - 1);

m_Particles.Add(new Particle(new Vector2d(-2f, -2f), new Vector2d(velXbl, velYbl)));//bottom left
m_Particles.Add(new Particle(new Vector2d(2f, 2f), new Vector2d(velXtr, velYtr))); //top right

m_TimeToNewParticle += 2f / m_ParticlesPerSecond; //* and if there are too many, remove the oldest ones */
if (m_Particles.Count > 2000)
{
m_Particles.RemoveAt(0);
}



second part of my particle code:


Code:

public Vector2d m_Position = new Vector2d(1.0f, 0.0f);
public Vector2d m_Velocity = new Vector2d(0.0f, 0.0f);

public float halfSize = 0.12f;


public Particle(Vector2d pPosition, Vector2d pVelocity)
{
m_Position = pPosition;
m_Velocity = pVelocity;

}

public void Update(float pTimeStep)
{
m_Position = m_Position.Add(m_Velocity.Multiply(pTimeStep));
}

public void Draw()
{

GL.glTexCoord2f(0.0f, 0.0f);
GL.glVertex2f(-halfSize + m_Position.X, -halfSize + m_Position.Y);
GL.glTexCoord2f(0.0f, 1.0f);
GL.glVertex2f(-halfSize + m_Position.X, halfSize + m_Position.Y);
GL.glTexCoord2f(1.0f, 1.0f);
GL.glVertex2f(halfSize + m_Position.X, halfSize + m_Position.Y);
GL.glTexCoord2f(1.0f, 0.0f);
GL.glVertex2f(halfSize + m_Position.X, -halfSize + m_Position.Y);


}

public Vector2d GetPosition()
{
return m_Position;
}



All times are GMT +5.5. The time now is 23:55.