/// <summary> /// Иговой цикл на экране с меню - падающие крисстальчики на фоне /// </summary> private void UpdateGems() { if (CCRandom.NextDouble() < 0.02) { var type = CCRandom.GetRandomInt(0, 4); var sprite = new CCSprite("crystalscrystals/" + type + ".png"); var x = CCRandom.NextDouble() * CCDirector.SharedDirector.WinSize.Width + Constants.KGemSize / 2; var y = CCDirector.SharedDirector.WinSize.Height + Constants.KGemSize / 2; var scale = 0.2 + 0.8 * CCRandom.NextDouble(); var speed = 2 * scale * Constants.KGemSize / 40; sprite.Position = new CCPoint((float)x, (float)y); sprite.Scale = (float)scale; _fallingGems.Add(sprite, (float)speed); _background.AddChild(sprite); } var gems = _fallingGems.Keys.ToArray(); foreach (var gem in gems) { var speed = _fallingGems[gem]; var pos = gem.Position; gem.Position = pos - new CCPoint(0, speed); if (pos.Y < -Constants.KGemSize / 2) { _background.RemoveChild(gem, true); _fallingGems.Remove(gem); } } }