我正在使用视差滚动技术在WPF中开发一个表单,我需要制定出最后一步。我希望重新创建this nice effect of the mouse。如何重新创建此MouseMove效果?
我试图让鼠标完成移动时很酷的延迟缓动。当鼠标移动完毕后,背景会慢慢停止移动,这很容易通过点的放松来实现,但我不清楚它是如何实现的。
我创建了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;
}
也许可以让你明白我的问题更好。
嘿戴夫你的代码片段是如此正确。我可以重现上面的链接相同的鼠标效果! 非常感谢戴夫,祝你有个愉快的日子 – JayJay 2009-10-18 09:54:45
非常感谢JayJay! – Dave3D 2009-10-18 16:06:03