本文主要是介绍写了一个整人程序,较简单,有兴趣者可以看看,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
程序是基于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();
}
}
}
这篇关于写了一个整人程序,较简单,有兴趣者可以看看的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!