`
mmdev
  • 浏览: 12928491 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

写了一个整人程序,较简单,有兴趣者可以看看

 
阅读更多

程序是基于WPF开发的,动态创建对象和动画。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Media.Animation; 
namespace WpfApplication1
{
    /// <summary>
    /// Window1.xaml 的交互逻辑
    /// </summary>
    public partial class Window1 : Window
    {
        Ellipse[] els1, els2;
        Storyboard std, std2;
        int theMax = 100;
        public Window1()
        {
            InitializeComponent();
            this.Title = "哈哈,看好了";
            this.WindowState = WindowState.Maximized;
            els1 = new Ellipse[theMax];
            els2 = new Ellipse[theMax];
            for (int n = 0; n < theMax; n++)
            {
                els1[n] = new Ellipse();
                els1[n].Fill = Brushes.Transparent;
                els1[n].Stroke = Brushes.Black;
                els1[n].StrokeThickness = 0.55;
                els1[n].Width = 0;
                els1[n].Height = 0;
                els1[n].HorizontalAlignment = HorizontalAlignment.Center;
                els1[n].VerticalAlignment = VerticalAlignment.Center;
                //els1[n].Stretch = Stretch.Fill;
                this.Root.Children.Add(els1[n]);
            }
            
            for (int s = 0; s < theMax; s++)
            {
                els2[s] = new Ellipse();
                els2[s].Fill = Brushes.Transparent;
                els2[s].Stroke = Brushes.Black;
                els2[s].StrokeThickness = 0.45;
                //els2[s].Width = 1300;
                //els2[s].Height = 970;
                els2[s].Margin = new Thickness(-150);
                this.Root.Children.Add(els2[s]);
            } 
            std = new Storyboard();
            std.RepeatBehavior = RepeatBehavior.Forever; 
            Duration AllDuration = new Duration(TimeSpan.FromSeconds(1.2));
            //std.Duration = AllDuration;
            for (int k = 0; k < theMax; k++)
            {
                DoubleAnimation dan = new DoubleAnimation();
                dan.BeginTime = TimeSpan.FromSeconds(0.02 * k);
                dan.Duration = AllDuration;
                dan.From = 0;
                dan.To = 1100;
                dan.RepeatBehavior = RepeatBehavior.Forever;
                Storyboard.SetTarget(dan, els1[k]);
                Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Width)"));
                std.Children.Add(dan);
                dan = new DoubleAnimation();
                dan.BeginTime = TimeSpan.FromSeconds(0.02 * k);
                dan.Duration = AllDuration;
                dan.From = 0;
                dan.To = 1000;
                dan.RepeatBehavior = RepeatBehavior.Forever;
                Storyboard.SetTarget(dan, els1[k]);
                Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Height)"));
                std.Children.Add(dan);
            } 
            //2
            std2 = new Storyboard();
            std2.RepeatBehavior = RepeatBehavior.Forever;
            for (int e = 0; e < theMax; e++)
            {
                DoubleAnimation dan = new DoubleAnimation();
                dan.BeginTime = TimeSpan.FromSeconds(0.05 * e);
                dan.Duration = AllDuration;
                dan.From = 1100;
                dan.To = 0;
                dan.RepeatBehavior = RepeatBehavior.Forever;
                Storyboard.SetTarget(dan, els2[e]);
                Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Width)"));
                std2.Children.Add(dan);
                dan = new DoubleAnimation();
                dan.BeginTime = TimeSpan.FromSeconds(0.03 * e);
                dan.Duration = AllDuration;
                dan.From = 1350;
                dan.To = 0;
                dan.RepeatBehavior = RepeatBehavior.Forever;
                Storyboard.SetTarget(dan, els2[e]);
                Storyboard.SetTargetProperty(dan, new PropertyPath("(FrameworkElement.Height)"));
                std2.Children.Add(dan); 
            } 
            this.Loaded += new RoutedEventHandler(Window1_Loaded);
        } 
        void Window1_Loaded(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("\n\n注意啊,别把眼睛靠得太近!!\n\n\n");
            std.Begin();
            std2.Begin();
        }
    }
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics