Пример #1
0
        public SkillEffects(string gifEffectPath, BattleEngine battleEngine)
        {
            _gifEffectPath = gifEffectPath;
            _battleEngine  = battleEngine;
            _sendTrigger   = true;
            GifImage       = new Image
            {
                Margin              = new Thickness(0, 0, 0, 0),
                VerticalAlignment   = VerticalAlignment.Center,
                HorizontalAlignment = HorizontalAlignment.Center
            };
            string path = Path.Combine(Environment.CurrentDirectory, gifEffectPath);

            GifImage.IsHitTestVisible = false;
            GifImage.Stretch          = Stretch.UniformToFill;
            GifImage.Width            = 50;
            GifImage.Height           = 50;
            Panel.SetZIndex(GifImage, 2);
            ImageSource imageSource = new BitmapImage(new Uri(path));

            ImageBehavior.SetAnimatedSource(GifImage, imageSource);
            ImageBehavior.AddAnimationCompletedHandler(GifImage, AnimationCompletedEvent);
            ImageBehavior.SetRepeatBehavior(GifImage, new RepeatBehavior(1));
            Grid.SetRow(GifImage, 1);
            BattleEngine.WaitForAnimation = true;
            //_battleEngine.

            BattleEngine.BattleWindowUi.Grid.Children.Add(GifImage);
        }
Пример #2
0
        private void SwitchGifPngAnimate(object sender, RoutedEventArgs e)
        {
            //洗版动画Gif图
            BitmapImage bitmapImage1 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/trending_animation_s1.gif"));
            Image       imgGif       = new Image();

            ImageBehavior.SetAnimatedSource(imgGif, bitmapImage1);
            ImageBehavior.SetRepeatBehavior(imgGif, new RepeatBehavior(1));
            grid30.Children.Add(imgGif);

            ImageAnimationController gifController = null;

            //******** GetAnimationController will return null if the animation is not yet fully loaded ***********
            ImageBehavior.AddAnimationLoadedHandler(imgGif, new RoutedEventHandler((s2, e2) =>
            {
                gifController = ImageBehavior.GetAnimationController(imgGif);
            }));


            //静态PNG图
            Image       imgPng       = new Image();
            BitmapImage bitmapImage2 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/text display_256x64_1.png"));

            imgPng.Source     = bitmapImage2;
            imgPng.Visibility = Visibility.Collapsed;
            grid30.Children.Add(imgPng);

            //计时器
            dispatcherTimer.Interval = new TimeSpan(0, 0, 2);
            dispatcherTimer.Tick    += (object s3, EventArgs e3) =>
            {
                //grid30.Children[0].Visibility = Visibility.Visible;
                //grid30.Children[1].Visibility = Visibility.Collapsed;
                imgGif.Visibility = Visibility.Visible;
                imgPng.Visibility = Visibility.Collapsed;

                dispatcherTimer.Stop();

                gifController.GotoFrame(0);
                gifController.Play();
            };

            ImageBehavior.AddAnimationCompletedHandler(imgGif, new RoutedEventHandler((s1, e1) =>
            {
                //grid30.Children[0].Visibility = Visibility.Collapsed;
                //grid30.Children[1].Visibility = Visibility.Visible;
                imgGif.Visibility = Visibility.Collapsed;
                imgPng.Visibility = Visibility.Visible;

                //gifController.Pause();
                dispatcherTimer.Start();
            }));


            //dispatcherTimer.Tick += new EventHandler((object s3, EventArgs e3) => PngEnd(s3, e3));
            //ImageBehavior.AddAnimationCompletedHandler(imgGif, new RoutedEventHandler((object s1, RoutedEventArgs e1) => GifEnd(s1, e1)));
        }
Пример #3
0
        private void BtnOnPlay_Click(object sender, RoutedEventArgs e)
        {
            int repeatTime = int.Parse(inputTxt.Text);

            BitmapImage bitmapImage = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/theme_2_animation.gif"));
            Image       image       = new Image();

            ImageBehavior.SetAnimatedSource(image, bitmapImage);
            grid20.Children.Add(image);

            ImageBehavior.SetRepeatBehavior(image, new RepeatBehavior(repeatTime));
            //var controller = ImageBehavior.GetAnimationController(image);
            ImageBehavior.AddAnimationCompletedHandler(image, new RoutedEventHandler((sender1, e1) => ComplateTheGIF(sender1, e1)));
        }
Пример #4
0
        private void BtnMultiGifPlay(object sender, RoutedEventArgs e)
        {
            BitmapImage bitmapImage1 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/theme_2_animation.gif"));
            BitmapImage bitmapImage2 = new BitmapImage(new Uri("pack://application:,,,/Pr60_TestFunction;component/F02_ShowImage/GifImg/Time_information_24.gif"));
            Image       image1       = new Image();
            Image       image2       = new Image();

            ImageBehavior.SetAnimatedSource(image1, bitmapImage1);
            ImageBehavior.SetAnimatedSource(image2, bitmapImage2);
            ImageBehavior.SetRepeatBehavior(image1, new RepeatBehavior(1));
            ImageBehavior.SetRepeatBehavior(image2, new RepeatBehavior(1));
            grid22.Children.Add(image1);
            ImageBehavior.AddAnimationCompletedHandler(image1, new RoutedEventHandler((s1, e1) => Img1Complete(s1, e1, image2)));
            ImageBehavior.AddAnimationCompletedHandler(image2, new RoutedEventHandler((s2, e2) => Img2Complete(s2, e2)));
        }
Пример #5
0
        private void flashSpark()
        {
            Image image = new Image();

            image.Height = 40;
            image.Width  = 40;
            Canvas.SetLeft(image, Canvas.GetLeft(checkedButton) - 10);
            Canvas.SetTop(image, Canvas.GetTop(checkedButton) - 15);
            canvas.Children.Add(image);

            BitmapImage bitImage = new BitmapImage();

            bitImage.BeginInit();
            bitImage.UriSource = new Uri("C:/spark3.gif");
            bitImage.EndInit();
            ImageBehavior.SetAnimatedSource(image, bitImage);
            ImageBehavior.SetRepeatBehavior(image, new RepeatBehavior(1));
            ImageBehavior.AddAnimationCompletedHandler(image, disposeImage);
        }
Пример #6
0
        public void flashSpark()
        {
            if (checkedButton != null)
            {
                Image image = new Image();
                image.Height = 40;
                image.Width  = 40;
                Canvas.SetLeft(image, Canvas.GetLeft(checkedButton) - 10);
                Canvas.SetTop(image, Canvas.GetTop(checkedButton) - 15);
                Canvas.SetZIndex(image, 100);
                canvas.Children.Add(image);

                BitmapImage bitImage = new BitmapImage();
                bitImage.BeginInit();
                bitImage.UriSource = new Uri(Environment.CurrentDirectory + @"\Images\Sparks\spark3.gif");
                bitImage.EndInit();
                ImageBehavior.SetAnimatedSource(image, bitImage);
                ImageBehavior.SetRepeatBehavior(image, new RepeatBehavior(1));
                ImageBehavior.AddAnimationCompletedHandler(image, disposeImage);
            }
        }
Пример #7
0
 /// <summary>
 /// set the animation to only loop once and then callback.
 /// </summary>
 public void AnimateOnce()
 {
     ImageBehavior.SetRepeatBehavior(this.Image, new RepeatBehavior(1));
     ImageBehavior.AddAnimationCompletedHandler(this.Image, this.OnAnimationFinish);
 }
Пример #8
0
 public void ShowCount(double count)
 {
     Show(new RepeatBehavior(count));
     ImageBehavior.AddAnimationCompletedHandler(animatedImage, Image_AnimationCompleted);
 }
Пример #9
0
 public void ShowTime(TimeSpan time)
 {
     Show(new RepeatBehavior(time));
     ImageBehavior.AddAnimationCompletedHandler(animatedImage, Image_AnimationCompleted);
 }