public void HandleBackground() { for (int i = 0; i < 16; i++) { if (BackgroundImages.Count < i) { Sprite s = new Sprite(Content.GetTexture("background1.png")); s.Position = new Vector2f((float)(s.Texture.Size.X * (i - 1)) - MAPXOFFSET, 225 - MAPYOFFSET); BackgroundImages.Add(s); } } for (int i = 0; i < 16; i++) { if (BackgroundImagesFar.Count < i) { Sprite s = new Sprite(Content.GetTexture("background1Far.png")); s.Position = new Vector2f((float)(s.Texture.Size.X * (i - 1)) - MAPXOFFSET, 300 - MAPYOFFSET); BackgroundImagesFar.Add(s); } } for (int i = 0; i < 150; i++) { if (BackgroundTracks.Count < i) { Sprite s = new Sprite(Content.GetTexture("tracksBlur.png")); s.Position = new Vector2f((float)((s.Texture.Size.X) * (i - 1)) - MAPXOFFSET, 515 - MAPYOFFSET); BackgroundTracks.Add(s); } } for (int i = 0; i < BackgroundImages.Count; i++) //Main Background { BackgroundImages[i].Position -= new Vector2f(1, 0); if (BackgroundImages[i].Position.X < -BackgroundImages[i].Texture.Size.X - MAPXOFFSET) { BackgroundImages.RemoveAt(i); } } for (int i = 0; i < BackgroundImagesFar.Count; i++) //Far Background { BackgroundImagesFar[i].Position -= new Vector2f(.2f, 0); if (BackgroundImagesFar[i].Position.X < -BackgroundImagesFar[i].Texture.Size.X - MAPXOFFSET) { BackgroundImagesFar.RemoveAt(i); } } for (int i = 0; i < BackgroundTracks.Count; i++) //Tracks { BackgroundTracks[i].Position -= new Vector2f(20, 0); if (BackgroundTracks[i].Position.X < -BackgroundTracks[i].Texture.Size.X - MAPXOFFSET) { BackgroundTracks.RemoveAt(i); } } }