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

这个程序使用WPF开发,通过动态创建多个椭圆对象并结合动画效果,创造出一种整人的视觉体验。窗口初始化为最大化,程序会在加载时显示警告信息,然后开始播放两个无限循环的Storyboard动画,改变椭圆的宽度和高度,产生有趣的视觉干扰。
摘要由CSDN通过智能技术生成

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

0_1323447564gUnB.gif

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

{

///

/// Window1.xaml 的交互逻辑

///

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();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值