Wpf一个简单的物体移动动画
来源:互联网 发布:java 搜索页面敏感字 编辑:程序博客网 时间:2024/06/04 17:42
<Window x:Class="Wpfdemo1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded" MouseLeftButtonDown="Window_MouseLeftButtonDown"> <Canvas x:Name="body"> </Canvas></Window>
/// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { Ellipse ell; public MainWindow() { InitializeComponent(); ell = new Ellipse(); ell.Fill = new SolidColorBrush(Colors.Red); ell.Width = 50; ell.Height = 50; body.Children.Add(ell); Canvas.SetLeft(ell, 100); Canvas.SetTop(ell,100); } private void Window_Loaded(object sender, RoutedEventArgs e) { } private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { moveTo(e.GetPosition(body)); } private void moveTo(Point deskPoint) { //Point p = e.GetPosition(body); Point curPoint = new Point(); curPoint.X = Canvas.GetLeft(ell); curPoint.Y = Canvas.GetTop(ell); double _s = System.Math.Sqrt(Math.Pow((deskPoint.X - curPoint.X), 2) + Math.Pow((deskPoint.Y - curPoint.Y), 2)); double _secNumber = (_s / 1000) * 500; Storyboard storyboard = new Storyboard(); //创建X轴方向动画 DoubleAnimation doubleAnimation = new DoubleAnimation( Canvas.GetLeft(ell), deskPoint.X, new Duration(TimeSpan.FromMilliseconds(_secNumber)) ); Storyboard.SetTarget(doubleAnimation, ell); Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Left)")); storyboard.Children.Add(doubleAnimation); //创建Y轴方向动画 doubleAnimation = new DoubleAnimation( Canvas.GetTop(ell), deskPoint.Y, new Duration(TimeSpan.FromMilliseconds(_secNumber)) ); Storyboard.SetTarget(doubleAnimation, ell); Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Top)")); storyboard.Children.Add(doubleAnimation); //动画播放 storyboard.Begin(); } }
通过动画析storyboard实现元素移动功能。
- Wpf一个简单的物体移动动画
- 一个简单的WPF图片动画制作
- WPF 简单的动画
- 一个移动物体的脚本
- WPF Animation - 如何创建一个简单的动画
- Unity3d 简单的按照路径移动物体!
- UE4蓝图控制一个物体的移动
- wpf真正的窗口移动动画
- WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体
- WPF的简单关闭动画特效
- Unity3D中受键盘控制的物体的简单移动
- WPF简单动画
- WPF动画简单练习
- WPF 简单动画
- Unity3d中最简单物体的旋转移动
- unity3d摄像机跟随物体移动的简单方法
- 使用OpenCV实现简单的移动物体检测和追踪
- osg简单渐变动画物体的淡入淡出
- 如何利用固定IP在路由器中设置局域网IP映射到公网上
- OpenGL渲染管线
- 星巴克在中国还要卖多贵?
- Flex linkButton icon设定的2种方法
- C语言快速排序源程序
- Wpf一个简单的物体移动动画
- 设计模式- 单例模式
- 浅谈 Linux 内核开发之网络设备驱动
- 在fedora上安装第二个gcc方法
- 想起那些瞬间,还是会心痛
- oracle中 all any in的用法 .
- Axis2 和 Spring 配置相关的内容
- IIS 下载 .dll .exe .config的配置方法
- 在 Ubuntu 上安装和配置 OpenStack Nova