//ritar ut texturen med farten och en färg! public void Draw(SpriteBatch spriteBatch, Camera camera, Texture2D texture) { //spriteBatch.Draw(texture, camera.scaleParticles(position.X, position.Y), Color.White); spriteBatch.Begin(); spriteBatch.Draw(texture, camera.convertToVisualCoords(new Vector2(position.X, position.Y)), null, Color.White, 0f, Vector2.Zero, 0.1f, SpriteEffects.None, 0f);//denna skalar om mina partiklar! spriteBatch.End(); }
// denna kommer reseta allt private void resetParticle(Smoke particle, Camera camera, Vector2 StartPosition) { float speed = 0.3f;//farten på partiklarna Vector2 velocity = new Vector2((float)r.NextDouble() * 2f - 1f, (float)r.NextDouble() * 2f - 1f); startPosition = StartPosition; velocity.Normalize(); velocity = velocity * speed; float rotation = (float)r.NextDouble() * 2f * (float)Math.PI;//denna kommer rotera partiklarna lite float allTheRadians = 2f * (float)Math.PI;// gör så att partiklarna roterar runt mitten av spriten float rotationSpeed = ((float)r.NextDouble() * allTheRadians - allTheRadians / 2f) / 300f; particle.Reset(camera.convertToVisualCoords(new Vector2(startPos.X, startPos.Y)), velocity, rotation, rotationSpeed, (float)r.NextDouble() * 20 + 10);// kommer ge allt sina värden när man ska skapa om dom!//startPos*500 }