public void Remove_Road_Parts() { AnimationSprite left = null, right = null; foreach (AnimationSprite road in RoadParts) { if (road.Left + WidthScreen > WidthScreen * 4) { left = road; } if (road.Left - WidthScreen < WidthScreen * -4) { right = road; } } if (left != null) { AnimationManager.Animations.Remove(left); RoadParts.Remove(left); } if (right != null) { AnimationManager.Animations.Remove(right); RoadParts.Remove(right); } }
public void Prolong_Road_Parts() { add_left = RoadParts.Max(x => x.Left); add_right = RoadParts.Min(x => x.Left); if (add_left + WidthScreen < WidthScreen * 2) { Create_Road_Parts(add_left + WidthScreen - 1); //+1 для подгонки швов текстур } if (add_right - WidthScreen > WidthScreen * -2) { Create_Road_Parts(add_right - WidthScreen + 1); } }
public void Create_Road_Parts(float Left) { _template = new AnimationSprite() { Name = _spriteNames[_rand.Next(0, _spriteNames.Length)], Group = "Road", Zindex = -1, Visible = true }; _template.Frame.Add(new Bitmap(MainSpace.SelfRef.SpriteFolder + _template.Name + ".png")); _template.Transform(Left, 0, WidthScreen, HeightScreen); AnimationManager.Animations.Add(_template); RoadParts.Add(_template); }