我正在使用视差滚动技术在WPF中开发一个表单,我需要完成最后一步。我希望重现鼠标的这种美妙效果。
当鼠标完成移动时,我试图获得凉爽的延迟缓动。当鼠标完成移动时,背景会慢慢停止移动,这很容易通过缓动点来实现,但我不清楚如何做到这一点。
我创建了 3 个背景,当鼠标移动时,我重新创建了视差滚动。现在我希望添加此功能以使其更加逼真。
您知道如何重现鼠标的这种效果吗?
编辑
我列出了我的代码片段,以向您展示当鼠标移动事件时我如何移动 3 个背景:
private void Window_MouseMove(object sender, MouseEventArgs e)//it is the Layout Root that contain the 3 layouts to create the parallax effect
{
Point mouse = e.GetPosition(this);
TransformGroup group = (TransformGroup)this.grid.RenderTransform; //The first Background
TranslateTransform translate = (TranslateTransform)group.Children[3];
translate.X = 400 - mouse.X ;
translate.Y = 300 - mouse.Y;
TransformGroup group1 = (TransformGroup)this.grid1.RenderTransform;// 2th Background
TranslateTransform translate1 = (TranslateTransform)group1.Children[3];
translate1.X = 400 - (mouse.X - 10) * 2;
translate1.Y = 300 - (mouse.Y - 10) * 2;
TransformGroup group2 = (TransformGroup)this.grid2.RenderTransform;// 3th Background
TranslateTransform translate2 = (TranslateTransform)group2.Children[3];
translate2.X = 400 - (mouse.X - 20) * 3;
translate2.Y = 300 - (mouse.Y - 20) * 3;
}
也许这可以让你更好地理解我的问题。