Exemplo n.º 1
0
        private DoubleAnimation CreateAnimationAngleEgg(Egg egg)
        {
            DoubleAnimation angle = new DoubleAnimation
            {
                Duration = TimeSpan.FromSeconds(speedMoveEgg),
                To       = 360,
                From     = 0
            };

            Storyboard.SetTarget(angle, Basket);
            Storyboard.SetTargetProperty(angle, new PropertyPath("(UIElement.RenderTransform).(RotateTransform.Angle)"));


            return(angle);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Метод начала игры
        /// </summary>
        private void StartGame()
        {
            DispatcherTimer timerSpawnEgg = new DispatcherTimer {
                Interval = TimeSpan.FromSeconds(speedSpawnEgg)
            };                                                                                                      // Устанавливаем таймер появления яйца с интервалом speedSpawnEgg;

            //Действие таймера который он будет выполнять с интервалом speedSpawnEgg;
            timerSpawnEgg.Tick += (s, e) =>
            {
                Egg        egg            = RandomEgg(); // Получаем случайное яйцо с рандомным цветом;
                Storyboard storyAnimation = new Storyboard();
                storyAnimation.Children.Add(CreateAnimationAngleEgg(egg));
                storyAnimation.Children.Add(CreateAnimationMoveEgg(egg));

                storyAnimation.Begin();

                // egg.egg.BeginAnimation(MarginProperty, CreateAnimationMoveEgg(egg)); // Добавление анимации "переката" яйца по платформе;
                GamePanel.Children.Add(egg.egg); // Добавление яйца на форму;
            };
            timerSpawnEgg.Start();               // Запуск цеха по созданию яиц.
        }
Exemplo n.º 3
0
        /// <summary>
        /// Устанавливает свойства анимации "переката"
        /// </summary>
        /// <param name="egg">Яйцо</param>
        /// <returns>Анимация "переката" яйца по платформе</returns>
        private ThicknessAnimation CreateAnimationMoveEgg(Egg egg)
        {
            ThicknessAnimation anime = new ThicknessAnimation {
                Duration = TimeSpan.FromSeconds(speedMoveEgg)
            };                                                                     // Анимация "переката" с длиной выполнения speedMoveEgg;

            Thickness[] startAndEndPointMoveEgg = RandomPlatform(rand.Next(1, 5)); // Рандомим платформу по которой будет катиться яйцо;

            anime.From = startAndEndPointMoveEgg[0];                               // Устанавливаем начальную точку пути яйца;
            anime.To   = startAndEndPointMoveEgg[1];                               // Устанавливаем конечную точку пути яйца;

            Storyboard.SetTarget(anime, egg.egg);
            Storyboard.SetTargetProperty(anime, new PropertyPath("Margin"));

            // Завершение анимации "переката" и переход на новую анимацию "падения";
            anime.Completed += (s, e) =>
            {
                egg.egg.BeginAnimation(MarginProperty, CreateAnimationDownEgg(egg)); // Установка новой анимации "падения";

                eggs.Add(egg);                                                       // Добавление в список.
            };

            return(anime);
        }