WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(六)完美移动

 2009-06-22 08:32:52 来源:WEB开发网   
核心提示: 上面代码基本上相对于前面几节没有太多改变,只是结合了第一节和第四节的内容,C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(六)完美移动(2), 那么再看C#第二部分: private void Carrier_MouseLeftButtonDown(

上面代码基本上相对于前面几节没有太多改变,只是结合了第一节和第四节的内容。

那么再看C#第二部分:

   private void Carrier_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
            Point p = e.GetPosition(Carrier);
            Move(p);
   }
   private void Move(Point p) {
            //创建移动动画
            storyboard = new Storyboard();
            //创建X轴方向动画
            DoubleAnimation doubleAnimation = new DoubleAnimation(
              Canvas.GetLeft(Spirit),
              p.X,
              new Duration(TimeSpan.FromSeconds(1))
            );
            Storyboard.SetTarget(doubleAnimation, Spirit);
            Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Left)"));
            storyboard.Children.Add(doubleAnimation);
            //创建Y轴方向动画
            doubleAnimation = new DoubleAnimation(
              Canvas.GetTop(Spirit),
              p.Y,
              new Duration(TimeSpan.FromSeconds(1))
            );
            Storyboard.SetTarget(doubleAnimation, Spirit);
            Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Top)"));
            storyboard.Children.Add(doubleAnimation);
            //将动画动态加载进资源内
            if (!Resources.Contains("rectAnimation")) {
                Resources.Add("rectAnimation", storyboard);
            }
            //动画播放
            storyboard.Begin();
   }

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接