我正在使用視差滾動技術在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