a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

Silverlight實現星星閃爍動畫

2019-10-29 19:59:37
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Silverlight實現星星閃爍動畫展示的具體代碼,供大家參考,具體內容如下

原理很簡單,生成1000個圓,從隨機數來布置它們的位置,通過動畫來處理它們的透明度,動畫時長也是隨機生成。 

1、創建圖形數組并設置背景透明,漸變筆觸,大小等,而后加入到Grid元素的子元素集中;
2、創建動畫時間線;
3、加載完成后播放動畫;
4、每一輪動畫播放完畢后,重新隨機生成一下圖形的Margin,動畫的時間長度也是隨機生成。

代碼: 

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;  namespace RandEllipseSample{  public partial class MainPage : UserControl  {    int shapesCount = 500; //圖形數組的容量    //隨機大小的上限    int theMaxW = 1300;    int theMaxH = 720;    Random rand = null;    Storyboard story = null;    Ellipse[] myShapes = null;    public MainPage()    {      InitializeComponent();      rand = new Random();      story = new Storyboard();      story.Completed += new EventHandler(story_Completed);      InitShapes();      InitAnimation();      //加載完成后馬上播放動畫      this.Loaded += new RoutedEventHandler(MainPage_Loaded);    }      void MainPage_Loaded(object sender, RoutedEventArgs e)    {      story.Begin();    }      void story_Completed(object sender, EventArgs e)    {      for (int x = 0; x < shapesCount; x++)      {        myShapes[x].Margin = new Thickness(Convert.ToDouble(rand.Next(0, theMaxW)), Convert.ToDouble(rand.Next(0, theMaxH)), 0, 0);      }      InitAnimation();    }      /// <summary>    /// 初始化形狀數組    /// </summary>    private void InitShapes()    {      myShapes = new Ellipse[shapesCount];      //實例化所有成員      for (int n = 0; n < shapesCount; n++)      {        myShapes[n] = new Ellipse();        myShapes[n].Fill = new SolidColorBrush(Colors.Transparent);        myShapes[n].StrokeThickness = 2d;        //筆觸為線性漸變        LinearGradientBrush gBrush = new LinearGradientBrush();        gBrush.StartPoint = new Point(0, 0);        gBrush.EndPoint = new Point(1, 1);        gBrush.GradientStops.Add(new GradientStop()        {          Color = Colors.Yellow,          Offset = 0        });        gBrush.GradientStops.Add(new GradientStop()        {          Color = Colors.Red,          Offset = 0.25        });        gBrush.GradientStops.Add(new GradientStop()        {          Color = Colors.White,          Offset = 0.5        });        gBrush.GradientStops.Add(new GradientStop()        {          Color = Colors.Blue,          Offset = 0.75        });        myShapes[n].Stroke = gBrush;        //位置        myShapes[n].Margin = new Thickness(Convert.ToDouble(rand.Next(0,theMaxW)), Convert.ToDouble(rand.Next(0,theMaxH)), 0, 0);        //大小        myShapes[n].Width = 10;        myShapes[n].Height = 10;        myShapes[n].HorizontalAlignment = HorizontalAlignment.Left;        myShapes[n].VerticalAlignment = VerticalAlignment.Top;        //加入可視化樹        this.LayoutRoot.Children.Add(myShapes[n]);      }    }      /// <summary>    /// 初始化動畫    /// </summary>    private void InitAnimation()    {      story.Children.Clear();      for (int i = 0; i < shapesCount; i++)      {        int mSecond = rand.Next(0, 5);        //透明度        DoubleAnimation opacityAnimate = new DoubleAnimation();        opacityAnimate.From = 1.0;        opacityAnimate.To = 0.0;        Storyboard.SetTarget(opacityAnimate, myShapes[i]);        Storyboard.SetTargetProperty(opacityAnimate,          new PropertyPath("Opacity"));        opacityAnimate.Duration = new Duration(TimeSpan.FromSeconds(mSecond));        opacityAnimate.RepeatBehavior = RepeatBehavior.Forever;          //將時間線添加到情節摘要        story.Children.Add(opacityAnimate);      }    }  }}

效果圖:

Silverlight,星星閃爍動畫

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: www.伊人网 | 一级黄色片欧美 | 欧美成人高清 | 欧美猛交ⅹxxx乱大交视频 | 久久久久久久久久久成人 | 久久免费小视频 | 国产亚洲精品久久久久动 | 欧美亚洲国产一区二区三区 | 一本色道久久综合狠狠躁篇怎么玩 | 亚洲欧美在线免费 | 久久精品免费国产 | 国产一区二区三区精品在线 | 欧美第一页 | 欧美日韩在线观看视频 | 手机看片国产精品 | 久久99精品国产.久久久久 | 色伊人网 | 国产一区二区在线看 | 国产高潮好爽受不了了夜色 | 亚洲精品一区中文字幕乱码 | 久久久久女教师免费一区 | 欧美香蕉 | 99精品欧美一区二区三区 | av中文字幕在线播放 | 欧美一级在线观看视频 | 国产精品成人免费视频 | 黄色一级网址 | 免费福利片2020潦草影视午夜 | 免费xxxxx在线观看网站软件 | 日韩中文字幕电影在线观看 | 成人午夜视频在线观看 | 九色国产 | 国产成人免费视频 | 亚洲欧美另类久久久精品2019 | 一级片的网址 | 一级毛片,一级毛片 | 国产噜噜噜噜噜久久久久久久久 | 亚洲国产成人精品女人久久久 | 亚洲美女视频一区二区三区 | 黄色一级免费看 | 成人免费视频网站在线观看 |