Esempio n. 1
0
        /// <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);
                }
            }
        }